Even if programming is made easier, only a proportion of people would actually be interested or capable of doing this. But, there's still an advantage to collections, people in the same team or department as an end user programmer, then all in the team have much closer access to someone who understands their, and the team's tasks, requirements, and projects. This closes the gap between those producing software systems, and those who require the software. This also makes it easier to iterate through solutions and solve problems more quickly and collaboratively.
Software tools to improve and combine UML and other modeling, spreadsheet, Web 2 / Semantic Web, and software solutions are required to allow this kind of end user participatory development and a sustained collaborative organization push towards achieving this. To achieve this, end users and teams need to be able to visualize their solutions both literally as diagrams, and metaphorically via problem solving collaboration. This would reflect the intentions that were expressed decades ago in the form of PC based computing and spreadsheets, but add better information and modeling organization, and collaboration capabilities.
To make the above practical, sustained research is needed in these areas. Such research would have many practical spin-offs. Professor Richard Vidgen (2009) describes research into "how technology is developed and used within organizations." So a way can be provided of applying this research and enabling more end user participation. This research is to test an approach of using digital technology, to make software and modeling development easier for computer literate end users. This would then enable them to solve problems to help their, and their teams' work to be more productive. The current problem is that the communication and translation steps required between users, and software developers, and help desk are too many, and too varied, these results in cost, uncertainty, delays, confusion, and confrontation. The solution is for software developers to develop more customisable software that can be customized by end-users.
An example of the need to apply such research is user's development of spreadsheets, this indicates user's willingness to use and develop software to meet their needs, but productivity in spreadsheet development can be poor, as they are difficult to track, and share. More advanced software tools are often not available to users, or take too long to learn. Semantic Web technologies can provide a solution to this by provision of free and customizable, shareable, and fully visualized applications for use in particular sections. Development of such applications, and their use in industry would be proof of this.
The essence of the problem is that organizations and individuals have many problems resulting from the lack of facilities to allow users to program. This causes many issues, which need to be urgently tackled by organizations in the short term. This creates an ironic dilemma, that the problems caused by lack of end user programming facilities cause there to be a need to tackle these problems via quick fixes because they are so urgent. This …