Skip to content
timlandgraf edited this page Sep 14, 2010 · 42 revisions

verfügbare Themen im Softwareprojekt:

Projektablauf

Wir werden beim ersten Meeting die Projekte verteilen. Ihr bekommt dann Guidelines, Zieldefinitionen, für das angestrebte Projekt. Der Lösungsweg ist vollkommen Euch überlassen. Es gibt allerdings abstrakte Milestones, die Ihr erreichen müsst (siehe Abschnitt “Zielvorgaben für alle”). Wöchentlich gebt Ihr einander einen 10 minütigen Vortrag, in dem Ihr Eure Schritte erklärt und verteidigt. Die Vortragsmaterialien werden einen Tag vorher abgegeben und kontinuierlich auf die Webseite gestellt.

Was wollen wir vermitteln?

Was gehört zu einem selbstständig zu erarbeitenden Projekt?

Recherche und Literatur

Als “Bestandsaufnahme”, also welche APIs existieren und welche passen zu den Zielvorgaben am Besten. Welche sind gut dokumentiert und welche sind leistungsfähig, erweiterbar, etc. Aber auch, welche Arbeitsgruppe macht etwas ähnliches, welche Konzepte, Algorithmen sind publiziert, etc.

Präsentation

In jedem Projekt gibt es nach unten und nach oben Mitarbeiter, die informiert werden müssen. So muss nach oben gezeigt werden, einerseits, warum man neue Software oder Hardware braucht, andererseits, warum ein kleines feature im Programm gleich 2 Wochen zur Implementierung benötigt. Nach unten müssen Anweisungen begründet werden, denn ohne Motivation “flutscht” es nicht.

Praktische Arbeit mit MT-Technologie

Nachdem nun Windows 7 nativ Multitouch unterstützt und auch einige Hersteller Eingabedevices zu erschwinglichen Preisen auf den Markt bringen wird eine große Lücke offenbar: Es gibt kaum Software, die MT als zentrales Eingabekonzept präsentiert (ausser den Fotoanwendungen oder Google/Microsoft Earth). Ihr sollt lernen, wie man Multitouch-Gesten erkennt, mit virtuellen Objekten interagiert. Lernen, dass Multitouch auch Multiuser bedeuten kann und was für Interaktionskonzepte hieraus entstehen können.
Weiterhin gibt es Paradigmen und Tools in der Softwareentwicklung, die Quasi-Standard sind und mit denen ihr nach dem Studium blind arbeiten können müsst. SVN, Milestones, Bugtracking, Kaffeekochen und Pizzanummer auswändig können sind nur der Anfang. Desweiteren werdet ihr die Programme der anderen im letzten Drittel testen und Feeback geben.

Kreativität

Wir lassen absichtlich einiges offen in den Projektbeschreibungen. So könnt Ihr kreativ werden und aus dem Projekt euer Projekt machen. Selbstmotivation fußt genau hierauf. Seid mutig, Eure Ideen, egal wie crazy, einfließen zu lassen.

Benotung

Die Benotung richtet sich nur zu 25% nach dem Ergebnis Eures Projekts. Die anderen Kriterien sind für uns die Recherchearbeit (25%), die Präsentationen (25%) und Eure Kreativität (25%). Jede Woche bekommt ihr eine Einschätzung von mir, die in Prozent ausdrückt, wie gut ihr an dem Soll dran seid. So könnt ihr Euch orientieren, rechtzeitig Gas geben oder wenn es sein muss auch bremsen.

Die Projekte

2D Mindmap

Ein Multituser-Mindmapping Programm soll erstellt werden. Kleinere Gruppen von Studenten sollen auf großen MT-Wänden parallel Brainstormen können, Ideen entwerfen und gemeinsam erweitern. Man soll Knoten erstellen, beschriften, labeln, mit Farbcodes versehen, untereinander verbinden und multimediale Inhalte integrieren können. Was noch?

Genealogieprogramm

Ein Spezialfall einer Mindmap. Es soll ein Programm geschrieben werden, mit dem man schnell und intuitiv seine nächsten Verwandten als (Stammbaum-)Baumdiagramm darstellen kann. Um eurer Recherche vorwegzugreifen: Es gibt kein freies, gutes Stammbaumprogramm. Alle sind hässlich und keines lässt sich intuitiv bedienen.

Interaktive Suche

Oft ist es hilfreich, wenn Daten, in denen gesucht werden soll, speziell gelabelt sind. Ein Beispiel. Wir befinden uns auf einer Messe. Wir berühren ein MT-Terminal. Ein interaktives Suchsystem lässt uns wählen zwischen Ort, Technologie und Anbieter. Ich möchte alle Anbieter einer Technologie finden, die in einer bestimmten Halle ausstellen. Also touche ich auf “Ort”. Der Knoten expandiert eine Liste von Hallennamen (oder eine Karte). Ich selektiere Halle A25. Nun berühre ich den Knoten “Technologie” und eine Liste von Labels wird als Kindknoten dargestellt (alle Technologien der Halle A25), ich selektiere “intelligente Kaffeeautomaten” und beschneide damit die Knotenmenge, die an dem Knoten “Anbieter” hängen. Such-technologisch nichts neues, aber der Hit auf der nächsten Cebit.

Midi-Sequenzer

…oder Allesmögliche-Sequenzer aber insbesondere Midi, Audio, vielleicht auch Video. Es geht um neue Ansätze um mit Multitouch und intelligenten Algorithmen in Loop-basierte Sequenzen eingreifen zu können. Es stellt sich die Frage wie neue Eingabemethoden und autokreative Algorithmen (z.b. Arpeggiatoren) die Komposition von Medien beeinflussen können. → TenoriOn am Multitouchtable

Zielvorgaben für alle

Das Programm soll sehr einfach und intuitiv aufgebaut werden. Macht Euch Gedanken welche grundlegenden Funktionalitäten drin sein müssen und was eher unwichtig ist. Was soll one-click-away sein, was kann mehrere Klicks entfernt sein?
Das Programm soll schick sein. Das Auge toucht mit. Dazu gehört auch, dass es schnell und responsive ist. Beachtet den “screen real estate”. Einfach ist schön! (andersherum nicht)

1. Milestone: API- / Webscreening und Konzeption

eine Liste von ähnlichen Anwendungen ist erstellt
zentrale Features sind daraus identifiziert
das Programm ist konzeptionell in sinnvolle Teile zerlegt
Programmiersprache und API sind weise gewählt
Aufgaben sind innerhalb der Gruppe verteilt
IDE ist auf allen Entwicklungsmaschinen und SVN repository zentral im Netz eingerichtet
Arbeitsplan zum Erreichen des zweiten Milestones ist fertig

2. Milestone: Programmstrukturen

grundlegende Strukturen und Objekte sind implementiert
MT-Eingaben (Gesten, Keyboard) funktionieren
Interfaces für Userinteraktion mit den grafischen Objekten implementiert

3. Milestone: Beta

Programm für Testphase fertiggestellt
Testläufe mit Feedback abgeschlossen
Erste Iteration zur Bug-Beseitigung und Feature-Requests abgeschlossen

Tips

  • Arbeitet zusammen.
  • Brainstormt zusammen.
  • Belest Euch vorher.
  • Macht euch Skizzen und besprecht mit den anderen wie es am Ende aussehen soll, wie es funktionieren soll. En detail!
  • Ordnet Eure Aufgaben nach Prioritäten.
  • Fragt auch die anderen Gruppen.
  • Fragt mich.
  • In der letzten Phase: sucht nach Kritik, nicht nach Lob.
Clone this wiki locally