../
../bastel
../bastel/baukasten
  einige einleitende Worte:

In der Softwareentwickung gibt es ein Grundproblem: die EntwicklerInnen wissen in den wenigsten Fällen, welche Bedürfnisse die AnwenderInnen haben.[1]

Dies hat mehrere Ursachen. Meist wissen die AnwenderInnen selbst nicht genau, was sie brauchen bzw. können es nicht so formulieren, dass die EntwicklerInnen es entsprechend umsetzen können. Andererseits haben --Geeks-- andere Vorstellungen von "schönem Code", die selten etwas mit ansprechend gestalteten Programmen zu tun haben oder besonders benutzerfreundlich für weniger versierte AnwenderInnen sind.[2]

Diese "Baukasten"-Anleitung will dich in die Möglichkeit versetzen "einfach" benutzbare Programme zu gestalten. Einfach meint in diesem Zusammenhang, dass die Bedienung des Programms möglichst exakt den Vorstellungen der BenutzerInnen angepasst ist - losgelöst von der techn. Realisierbarkeit. Wenn dein Programm einen dicken, roten "Speichern"-Button haben soll, weil es die wichtigste Funktion des Programms ist, dann bekommt es den auch.

Ansprechen möchte ich hauptsächlich Menschen, die vom Programmieren keine oder kaum Ahnung haben. (Solltest du ein erfahrener Programmierer sein und möchtest auf ähnliche Weise mit AnwenderInnen zusammen arbeiten, lies bitte hier weiter -[TODO]-)


Softwareentwicklung ist nicht ganz so einfach, wie es diese Anleitung glauben machen will. Du wirst also nach dem Durcharbeiten dieses HowTos kein komplettes Programm auf deinem Rechner haben. Dafür hast du ein elegantes Gerüst, welches du Menschen mit grundlegenden Programmierkenntnissen in die Hand drücken kannst, um sie mit etwas ideologischer Unterstützung oder einer gratis Pizzaverpflegung [3] zum Vollenden deiner Vorstellungen zu animieren.

Nebenbei bemerkt, steht Software immer in direktem Zusammenhang mit ihren EntwicklerInnen und ist selten "fertig". Stell dir ein Programm als ein dynamisches Etwas vor, das mit anderer Software zusammen arbeitet oder auch nicht und sich ständig weiter entwickelt, um den aktuellen Anforderungen zu genügen. Dieser Prozess erfordert intensive Zusammenarbeit zwischen NutzerInnen und EntwicklerInnen. Mit deinen persönlichen Aktivitäten bei den Entwicklungs- und Instandhaltungsprozessen trägst du besonders dazu bei, ein herausragendes Programm zu gestalten.

Diese Ansicht wird nicht von allen Softwareentwicklern in gleicher Weise geteilt. Insbesondere moechte ich an dieser Stelle darauf hinweisen, dass offene, freie Grundgedanken notwendig sind, um auf diese Weise ein "lebendiges" Programm zu schaffen. In den letzten Jahrzehnten sind in dieser Hinsicht einige Modelle entstanden, allen voran das --GNU Projekt (engl.)--, das massgeblich an der Entstehung --"freier Software"-- beteiligt war und deren Ideen durch die --Free Software Foundation-- unterstützt werden.



Starthilfe:

  • Such im Netz nach ähnlichen Problemen, wie deinem.
  • In den meisten Fällen hatten deine Gedanken schon andere Menschen. Tritt mit ihnen in Kontakt!
  • Versuch dein Problem/Anwendungsfall so allgemein wie möglich zu formulieren. Vielleicht kannst du andere Programme an deine Vorstellungen anpassen (lassen).
  • Frag in jedem Fall vorher jemenschen mit Programmierkenntnissen, ob deine Wünsche und Ideen prinzipiell realisierbar sind.
  • Nutze dazu die passenden Kanäle. (Foren, Chaträume, Mailinglisten)

  • Sei nett!
    Du bist es, der einen Wunsch hat und Hilfe sucht. Wenn du andere für deine Ideen begeistern und mitreissen kannst, wird es um einiges wahrscheinlicher, dass ihr euer gemeinsames Ziel erreicht.


    Fussnoten:

  • [1]: "Coding is easy - but you have to know what, so the user statements are most important." (ein Entwickler von --JahShaka-- einer komplexen Open Source, Echtzeit, Videoeffekt/-Schnitt Software)
  • [2]: Mensch möge den Texteditor --vi-- heranziehen, um meine Aussage zu verstehen.
  • [3]: EntwicklerInnen von --Samba-- baten Menschen, denen ihre Software gefiel und die irgendwie helfen wollten um Pizzalieferungen. Dieser teilweise Scherz wurde zum Selbstläfer und mittlerweile gilt Samba als Pizzaware :)


  • -zurück zum Baukasten-