Normally, you would think that developers and end users do not mix. And, given the current state of software development, I would agree.
But, on the other side I always thought that we need more tools that allow simple end-users to do more or less sophisticated development, but without the inherent difficulties of a programming language.
I see at least two different directions here:
1) Development in a spreadsheet. Someone said that Microsoft Excel is the most popular programming environment, and I don’t think that he was far from truth. A variable doesn’t even have a name; it’s simply a cell in a spreadsheet, something very simple to grasp. You can write complex spreadsheets to evaluate formulas without writing a line of code, and you need minimal training to do that. (But, by the way, did you know that 30% of all spreadsheets have errors?)
2) Development in the form of a visual flow diagram. My latest example here is a little-known application in Mac OS X 10.4 (Tiger) called the Automator. At least from my point of view, in terms of usability, this little application really shines. Of course, it still remains to be seen how well it wil be received by end users. But if there will be a “programming” tool for everyone, then I envision that it will look a lot with Automator.
Anyway, there is a lot of uncharted territory here, and I am sure that the future might give us some surprises…