HomePage RecentChanges WYSIWYG


There is a gaping hole between the technical and the non-technical computer users. Even saying that sounds bad. Even using words like technical vs non-technical don't fairly describe everyone. I know developers who are most definitely technical, fall in the non-technical camp for this discussion... great way to begin hey? Can't even describe two types of users.

Lets call them "Ws" (WYSIWYG) and "POTS" (Plain old text).

The problem

Intuitive, easy to use systems are often polar opposites to fast systems to use...

Some examples:

Now I don't want to choose GUI vs Command line. It is more complicated than that. As a Mac, Linux and iPad user I love GUI.

A place for easy

I want to point out that I fall back to using the easy GUI all the time. My recent system is controlling a 3D printer, and I am using the GUI tools even though they all work probably faster and better from the command line. Why? Because I can learn how to use the GUI tools in a fraction of the time. Chances are I will move to command line as I learn what I need.

Other tools I stay in GUI. My calendar is a good example. I am sure there is much faster and more efficient ways to edit calendars, but I spend about 1 minute a day editing calendars.

Video editing - just feels better through a GUI.

This is not even against WYSIWYG. There is a brilliant talk on a programming system where you can see in real time what your code changes will do to a game. Highlighting even the elements, and the code that generate an element. BUT... when it comes to making changes you don't then popup a GUI game editor, but edit the CODE (which is Text)....

Why it matters to me

You can read literally 100s of books that talk about how to do software development and programming of all types. These books will talk about ways to improve your development, mostly in the software itself rather than the tools. E.g. using Patterns, or OOP, etc. Lots of techniques on how to organise your code to allow for refactoring, rearranging, working in small reusable components, testing, etc.

What about documentation? Using Word for example to write a reasonable length document is like writing one large monolithic function, rather than breaking things up into reusable components. More than just organisation it also mixes presentation with content - again something programmers are taught not to do.

Why are programmers taught all this. To save time, HEAPS of time. So why don't we do this with documentation? And I think the answer is, the type of user. The POTS vs the Ws.

The type of people that become software developers tend to have particular mentalities (stereotype to follow) - never want to waste time or be inefficient. So when I find going through a document and finding and removing all the manual page breaks that we just can't figure out how to remove with styles, after spending 3 peoples time trying, my attitude is to curse word, while the other non programmers just say you get used to doing it that way.


I love watching movies and seeing how they get around these issues. In Oceans 13 the security person types (paraphrased, can't look it up right now) "send profiles to CEO". This concise sentence takes the profiles being displayed and sends them to the CEO to view.

In a POTS world, it would have probably been shorter, something like "cat *

mail ceo" (silly example of course).

in a Ws world the user would have highlighted it with a mouse, or selected "Select All" from a menu / keyboard shortcut. They would then right click and select "Mail to" or drag those entries into the Mail. From Mail they would type "ceo" and select the CEO, or choose it out of a list, and click send.

In my example of course, Mail is just my use of sending something to someone - it could be any protocol or program. e.g. dropbox, or Twitter, or local file servers with proprietary IM.

The point... A movie watcher would not only get bored watching the Ws at work (it just takes too long) they would also be confused, as it is not obvious what the user is doing in that time.

Of course the POTS would also confuse the audience.

So natural language is chosen instead. And it works. Quicker to type, and people can see what you meant.

Real world examples

I want to go through some real world examples...

Web development

Why is boostrap (HTML/CSS from twitter in this case, since in a few years that reference may be obscure) so popular? Why can't you use Dreamweaver to manage your entire company web presence, including content, design, generated content, desktop and mobile HTML...


We can apply everything we do in software development to documentation. Of course I should say that we DO apply what we do in software development to documentation. Some examples:

I have seen many of these techniques done, especially with some good TeX (and other) markup, build, make systems with output. But guess what... all have them have been done by developers.

See Also


Natural Language Processing

Software error:

Can't locate object method "endform" via package "CGI" at /data/scott.dd.com.au/wiki/modules/search.pl line 15.

For help, please send mail to the webmaster (webmaster@dd.com.au), giving this error message and the time and date of the error.