Vorweg: Der Ärger mit den Views ist gelöst und es geht weiter. Nun stehen wir vor einer wichtigen Aufgabe, und da wir uns um die Funktionalität kümmern müssen, würden wir jetzt einen erfahrenen Programmierer in unser Team aufnehmen, der sich um die Programmierung eines sehr wichtigen Models kümmert, wa wir, Obi, Simon und ich, und eher im View und Controllerbereich bewegen.
Letztens standen wir nämlich vor einer Entscheidung, deren Ergebnis unsere Arbeit extrem erschweren wird. Hätten wir nicht vorausgedacht wären wir früher oder später über das Problem gestolpert und hätten sehr viel Code ersetzen müssen.
Es geht um die Abspielmethode der Videos. Solange sich die Videos im Netz befinden stellt dies kein Problem dar, denn man kann den YouTube-Player ber WebObject einbinden. Das Problem taucht aber auf bei archivierten Inhalten. Wie ihr vielleicht wisst ist dies eine der Hauptfunktionen von TubeFlect: Das komfortable Ansehen von YouTube-Videos, selbst wenn es kein Internet gibt. Was also, wenn man offline ist? Keinen Zugriff auf den YouTube-Player. Den Player von YouTube klauen und einbinden ist auch keine gute Idee. Also bleibt uns nichts anderes übrig, als einen eigenen Player zu schreiben.
Archivierte Dateien werden im FLV-Format vorliegen. Die erste Hürde wird es also sein, FLV-Inhalt abspielen zu können. Jetzt geht es aber noch weiter. Da wir selbst den YouTube-Player als ziemlich undurchdacht und verbuggt ansehen und wir außerdem den Usern keine verschiedenen Player anbieten können, muss der Player das FLV-Video direkt vom YouTube-Server streamen können. Es würde zu lange dauern das Video erst vollständig herunterzuladen. Es sollte möglichst so gespeichert werden, dass man nach dem Klick auf den Archivieren-Knopf das Video nicht noch mal von vorne herunterladen muss. Und wenn man das Video nicht archiviert, muss es natürlich auch wieder gelöscht werden.
Das alles muss das Model können. Glaubt mir, ich würde es selbst programmieren, aber ich habe nun mal keine Erfahrung darin, dafür kann ich viel im View und Controller ausrichten. Deshalb suchen wir einen guten Programmierer der sich auskennt und in unser Team einsteigen will. Vielleicht hat einer eine Idee, wie wir das ganze noch eleganter lösen können?

