A user-driven approach to visualisation, modelling, and programming can improve software and ease it's creation and maintenance. Translation then becomes posible from the user's representation to a software representation, and from design to implementation.
For User Driven Programming, 'user' can mean individual and/or organisation. The technique can be applied soonest to modelling/programming problems that require calculation. E.g. scientific, engineering, and business problems. The basis of the technique is enabling the information to be represented in a structured format e.g. XML (eXtensible Markup Language), RDF (Resourece Description Framework), RSS (this can stand for 3 different things - http://en.wikipedia.org/wiki/RSS_(file_format), and OWL (Web Ontology Language). Visualisation and interaction with the information can be enabled in a standardised way because the information is structured. This enables diagrammatic editing for modelling/programming. Careful structuring of the information and models/programs simplifies the modelling/programming process. A translation process from abstract/domain models to code can then be provided using recursive techniques.
As the structure and design and editing process for these models/programs can be standardised this enables a common meta-programming based methodology. Visualisation of this methodology to allow User Driven participation could enable wider participation than is currently possible for open source development, which is limited to more technical users. Visualisation at different levels of abstraction from domain to software could enable end-users, designers, and software developers to communicate in a semi-structured way in order to establish procedures for ensuring software is produced that end-users want to use.
This blog is about my PhD research (now finished) at University of the West of England into User Driven Modelling. This is to make it possible for people who are not programmers to create software. I create software that converts visual trees into computer code. My web site is http://www.cems.uwe.ac.uk/~phale/. I'm continuing this research and the blog. My PhD is at http://eprints.uwe.ac.uk/17918/ and a journal paper at http://eprints.uwe.ac.uk/17817/.