Archive of UserLand's first discussion group, started October 5, 1998.

Re: SDK or not

Author:Jakob Nielsen
Posted:8/5/1999; 4:34:06 PM
Topic:Yusuf Mehdi on Instant Messaging
Msg #:9197 (In response to 9188)
Prev/Next:9196 / 9198

I have nothing against programmers and I agree that they are needed for doing sufficiently advanced things with computers. But the history of computing has been an ever-increasing ability of users to do "interesting things" without programming. In the old days, if you wanted to run any kinds of simulations or what-if analyses you needed a custom-made program (or somebody who could write in the complex 4GL language of a fancy simulation package). Well, then Dan Bricklin invents spreadsheets and now many more people can construct a good deal of realatively complex calculations without a programmer.

You could say that a spreadsheet is simply a functional programming language rather than a procedural one. Or you can say that HTML is a programming language (again, not a procedural one). And depending on your definition of "programming language" you could be right. But the traditional definition of "programmer" does not apply to most of the people who develop spreadsheets or Web pages.

(As an aside, it can be argued that spreadsheet-builders would benefit from some of the skills of programmers, such as testing and debugging. A very large percentage of spreadsheets used in business contain errors. But the fix is not to put the blame on the users and require them to be chosen from the rarified few. Instead, improve the tools to make errors less likely to happen in the first place and more blatantly obvious when they do occur.)

And the ability to access functionality from HTML or XML does not require authors to deal with the wire protocol. For example, it is possible to refer to a Usenet newsgroup or news article from HTML without knowing anything about NTTP. And it is possible to interface with email without knowing anything about sendmail (OK, the mailto: feature is a bit of a hack, but one could imagine defining a good way to integrate email access into HTML).

A good design principle is that the basic or common actions should be easy and simple and that advanced actions should be possible. Once you pass a certain level, most people can't follow any more and it becomes necessary to turn to professional programmers to make the "possible" actually happen. But the basics should be available to everybody.


There are responses to this message:


This page was archived on 6/13/2001; 4:51:45 PM.

© Copyright 1998-2001 UserLand Software, Inc.