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

More "endless pains" then "endless gains" in all honesty. The point of software is to abstract complexity, not present it to users (or worse, create it).

LaTex is just ugly and surprising. People want to write and see what they've written, not type and then render. It's a backwards development workflow from the instant feedback of wysiwyg (which is why wysiwyg was so revolutionary, and became the de facto standard for the task).






Do you ever wonder why audio mixing panels have all those buttons and knobs instead of just one big slider labelled "volume"? It's because audio engineers benefit more from the complexity than they lose out from the time taken to learn it. It's easy to frame features as bad if you describe them as "creating complexity", but what you ignore is that the advanced user of a piece of software (i.e. anyone who uses it for work) will want to do very complex things with that software. A simpler interface is only achieved by making assumptions about how people will use the product, and these assumptions often cause issues for people.

> It's a backwards development workflow from the instant feedback of wysiwyg

No it isn't. I've already explained this in my original comment, and you've provided little rebuttal here. What is the value of instant feedback? As far as writing documents, there is none. That's because the people who write documents are interested in the text, which they get instant feedback on in their text editor. They don't really care how it looks while they are in the process of writing it. Instant feedback may be useful if you are interested in styling a document, but usually style sheets are prepared once and reused many times. Documents are not like computer programs, you typically write the entire thing out then compile it once or maybe twice to fix typos in command names. Even if you think instant feedback is intensely valuable, there is no reason you can't have it in the case of LaTeX (or LaTeX adjacent) documents. Simply design your document editing software with two windows, the one on the left shows the textual source, and the one on the right shows the compiled document. These can be kept in sync in real time.


> Do you ever wonder why audio mixing panels have all those buttons and knobs instead of just one big slider labelled "volume"? It's because audio engineers benefit more from the complexity than they lose out from the time taken to learn it.

I've actually worked extensively on audio hardware and software. The mixer slider is there because audio engineers don't benefit from having to type in a float value for gain and need to adjust up and down to balance levels. That said, most effects that affect perceptual loudness have an autogain feature such that the mix fader doesn't need to be changed because of the complexity introduced.

A better example is routing in audio software. This is way more complex than users imagine it to be, and that's because the interface is a simple "connect input to output" that abstracts the underlying complexity.

> A simpler interface is only achieved by making assumptions about how people will use the product, and these assumptions often cause issues for people.

No, it isn't. That's why UI/UX is a different skillset than engineering - discovering how to intuitively present something that isn't complex (note: the complexity of the problem is not the complexity of the interface - if you equate the two, you're doing bad interface design).

> What is the value of instant feedback?

I see what I want and move on instead of fiddling around.

> Simply design your document editing software with two windows, the one on the left shows the textual source, and the one on the right shows the compiled document. These can be kept in sync in real time.

There's a difference between "can" and "should." Now you have to look two places - where you are editing, and where it is rendering.

Like I don't know why software folks are so keen to throw away 50 years of HCI research that's led to local maxima in terms of interfaces - WYSIWYG is not preferred because it's easier to develop or maintain, it's because users actually find it easier than remembering how to invoke the exact sequence of characters in a document to get what they want!


> it's because users actually find it easier

I have extreme doubts about that. Yes, people find these things easier when they don't understand them, but what about users who do understand? I know for a fact that when I started out programming, Scratch was very easy. But as I became better, the GUI aspects that made it simple became hindrances. I sincerely doubt there has been any research done on this at all, because it simply isn't feasible to ask someone to spend several hundred hours practising something over the course of a study.

> Now you have to look two places

Many pieces of software present more than one piece of information on the screen at once, and the only way to do this is to put that information in different locations. The idea that you need to look at both is a little silly, because you don't need to know how a document will be styled to type the text of it in.

> WYSIWYG is not preferred because it's easier to develop or maintain, it's because users actually find it easier than remembering how to invoke the exact sequence of characters in a document to get what they want

Well I am a user, and this is not true for me. My mother has always been horrible with computers, but she worked as a secretary when early document processing software came on to the scene and she managed just fine typing the commands in. "Remembering words" is not a difficult activity. You remembered many hundreds of words to write that reply and I doubt you found it challenging in the slightest. Learning words is difficult, but once you have learned them, they are easy to remember.

When I've seen professionals using software, they tend to avoid the GUI. Users remember many hundreds of key shortcuts (much harder to learn than words as they're just arbitrary letters) and do everything in their power to avoid using the GUI for anything, to the point where many people who do things such as video editing have an entire extra keyboard for entering auto-hotkey scripts. Advanced users are not only capable of learning, but actively prefer it to using a GUI.

Users who don't know the functionality of software want some simple way to have it all presented to them. But users who know what the software is capable of find this to be a drag. They already know the command they want the software to execute and so want to have the simplest possible way to communicate that desire to the program.


If Word was implemented with standard XML backend instead of OOXML, then today, we could have easily developed tools to show good, reliable diffs without having to resort to tricks.



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

Search: