Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The perfect UI for a child and for all other people unfamiliar with a computer all in all is the touch screen.

And how does one become familiar with computers if they only live in that world? This is no different than any other professional bringing their kids to the shop/office to learn what daddy does.



Most people only live in that world.

I learned to operate the VCR before I learned to operate a computer. One thing does not exclude the other.

We are talking about kids here not computer scientists. If they have it in them they will have no problem switching.


Except that in this case, it's more like "daddy is a woodworker, so here's some stone tools"


What?! it isn't like that at all. I am pretty sure 95% of the programmers on this board use the command line everyday. It isn't "outdated". It is the best tool for a variety of programming related tasks. The average "user" isn't using the commandline today. However, the average "furniture user" doesn't need a set of wood working tools either.


  > daddy is a woodworker, so here's some stone tools
Are you suggesting that if "daddy is a developer" that he's only using a touch screen for development? Or that development of touch screen apps is all a developer does? I'm confused by this statement.

Edit: Maybe I'm just not reading this right. Did you mean:

  daddy is a woodworker, so here's some stone[-working] tools
or

  daddy is a woodworker, so here's some stone tools [used for
  woodworking]


xmonad is more like an ultra precision electronic saw. Difficult for most people to use, but amazing productivity tool to the expert.

Now he just needs to teach them emacs.


In my opinion, save the configuration, XMonad is simpler to use than mouse-based window managers.

You can open and close programs, change their layout, move between and resize them. All with, what, 7 shortcuts?

With mouse-based WM's there's click to focus, click and drag, right click, lots of buttons and icons everywhere and you have to constantly work to make the relevant information visible.

There's a reason why people don't go back after using tiling WM's - they're easier and more efficient to use than their mouse-based counterparts.

Consider that mobile phones use a similar approach by getting rid of the concept of windows and they are, by a long shot, easier for most people to get to grips with. Tiling is a similar concept except that more than one application is visible at the same time. The lack of a window stack helps. Navigating a big physical table covered with pieces of paper (i.e. all applications on the same layer, where the table split into segments - aka desktops) is infinitely easier for a human than a stack of paper (i.e. finding something in a binder or book is more annoying and slower).


They are indeed easier to use, but more difficult to learn. Tiling window managers are like giving someone a control system with no labels on the buttons. Users need to consult a manual to know what they're doing - which isn't something people generally like doing.

You don't need a manual to figure out how to use a touchscreen or whatnot though, which is generally why they're preferred by the masses, despite being inferior.

The same thing applies to emacs and vim too - they're capable of mostly everything IDEs do and much more, but it's non-obvious how to do things without taking the time to learn, read, search - something that people are less likely to do with age - but kids don't have a problem learning.

There's other issues like consistency too. With stacking based UIs you have some consistency built in, but you don't necessarily have it with the tiling window manager and minimal UI applications - take for example the difference in keybindings between xmonad and emacs. Another problem is that some apps can "hijack" your WM keybindings.

You can fix those issues by modifying the configs, but that's an even further level of learning that most people have no chance of ever doing.


>but you don't necessarily have it with the tiling window manager and minimal UI applications - take for example the difference in keybindings between xmonad and emacs.

There should be a formalised standard for keyboard based navigation. In fact, two standards might be a better approach - vi-like and emacs-like, since each of them caters to one of the major ways that people think. Having said that, with a little bit of work, you can get most of your daily applications to use vi keybindings (plugins for FF, Thunderbird and Chrome, Vim itself, custom keybindings for the WM, vi-mode for Zsh - in combination they create a programmer's version of Zen).

Thinking about it, I wonder if peoples' preference for these things might come down to their personality type - http://en.wikipedia.org/wiki/Myers-Briggs_Type_Indicator I'm not aware of any studies attempting to draw correlations between these things but, given how predictable people can be, it wouldn't surprise me if they existed.

>You can fix those issues by modifying the configs, but that's an even further level of learning that most people have no chance of ever doing.

When it comes down to it, the current generation of hardcore tiling WM's are experimental prototypes paving the way for the desktops of tomorrow. Just as many aspects of functional programming are seeping into popular languages, so tiling window management is seeping into popular desktops. I don't know about OS X but Windows 7, Gnome and KDE all support dragging a window's titlebar to the left-most or right-most edge of the screen to vertically tile it. It's extremely basic but it's an obvious influence.


I don't agree that there should be some standard layout - it should be based entirely on the user's preference - so emacs, vi, or whatever you like should be possible. The flaw is that every app decides it's own keybindings, and ignores the preference the user has set for his system.

Rather than a standard, we need a better API abstraction for keybinding, where users can control their keybindings from a single point, and it'll affect all their apps at once. App developers shouldn't tie functionality to specific keys, but to some abstract keys which the user controls.

I use Dvorak layout, but I generally prefer the conventional key locations for common tasks. So for example, cua-mode in emacs, I expect undo/cut/copy/paste to be in the locations of z,x,c,v on qwerty, except they're ;qjk on dvorak. It's awkward to make each app support this configuration - particularly when they all require a different language to configure.

Also, when a user configures his layout, he should be able to specify whether individual applications can override those keybindings or not - apps should request key combinations rather than assume they're available.

---

The personality types is an interesting thought, but I don't think it's really a big deal, because if you can't predict people, you just need to set a trend and make them predictable :p.

The editor wars are really blown out of proportion because of popularity or fashion rather than their technical merits. People are emotionally attached to their tools and aren't interested in the other anyway. I mean, who has the time to learn both emacs and vi enough to compare them objectively anyway? I've not used vi enough to really assess it's capabilities.

Maybe the personality type could give an indicator of a default setting for developers to put in. I'd be surprised if there's no research in this area, considering every desktop developer claims "we're building what users want after conducting usability tests." (I'd like to know who the audience for GNOME's testing was.)

---

I do hope tiling features will make it into desktop systems. Bluetile is an interesting example for gnome integration, although completely broken for gnome3.

Another interesting app is Opera. Their tabs have been based on MDI since day one (mid 90s). It basically has it's own internal WM, which includes some tiling features. (Opera's initial tabs were really tiles before they became the tabs we all know now.)

I think the other desktop environments are a bit slow on the takeup with tiling, and it's perhaps come to a grinding halt with the focus on tablets and touch now. We probably need to start experimenting with introducing touch into our tiling WMs to support heterogeneous inputs rather than exclusively keyboard too.

Probably the biggest joy about tiling WMs is that they're not some fixed system we're forced into using by the trendsetters, but they're more like APIs for developing your own personalized WM in. Until we build some customization abilities that don't require modifying code though, they probably won't become too popular - only minor features leaking into other systems.


I'm saving that for next week. ;-)

(seriously.)

It's really very simple for a child. C-x C-s, C-x C-c, and arrow keys. All they really need to do.

I thought about vim, but I think it would lead to too many confusing situations.

I have a printed "cheat sheet" up there for the boys. It has commands and keyboard shortcuts. They sometimes forget it exists, but at least Jacob can read and follow directions on it without any trouble.


I would give vim a miss - particularly if they'll be hacking xmonad.hs in the near future - emacs has much better Haskell support (I believe). The same is true for dozens of functional languages. I can't be doing with the confusion of multiple editors, so emacs wins for me purely based on the languages it supports.

I wish I became familiar with emacs a lot earlier. It took me ages to transition from using IDEs because of the steep learning curve.

Oh, and I wish I grew up with a Dvorak keyboard. I was forced to learn it after getting RSI about 8 years ago - but I'm better for it now.


Some stone tools? I take it that your father was not a woodworker...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: