Donnerstag, 30. Oktober 2008

Über die Ideenfindung und Präsentation unseres Projekts und meine Visionen :D

Die erste Aufgabe war - soweit ich das verstanden habe - ja nur als Aufwärmübung zu sehen. Das, was wir im Rahmen dieses Praktikums nämlich eigentlich machen wollen, ist ein Gruppenprojekt, das sich um die Entwicklung einer Webapplication dreht.
Das Thema durften wir dabei frei wählen.

Ins kalte Wasser geworfen standen wir nun natürlich vor einer Unmenge an möglichen Ideen und versuchten deshalb uns in etwa vage vor Auge zu führen, was uns in dieser Lehveranstaltung noch alles erwarten könnte und was wir vermutlich lernen werden - und was mit dementsprechend realisierbar wäre.
Werner und ich hatten schon vor einiger Zeit nach einer simplen aber funktionellen und sharebaren inBrowser ToDo-List gesucht, aber nicht's Entsprechendes (ohne den heutzutage leider überall verbreiteten und überflüssigen Community-Overkill und ähnliches) finden können, also lag das auf der Hand. Milena war damit soweit auch einverstanden, also war das Thema mal gefunden :)


Die Präsentation unserer Idee dürfte wohl nicht ganz so rübergekommen sein, wie wir uns das vorgestellt hatten, was aber vermutlich eben auch daran lag, dass wir nicht genau wussten bzw immer noch nicht genau wissen, was für uns realisierbar sein wird und wir uns offensichtlich unterschätzt hatten, weshalb wir einige Ideen auch (noch) nicht offiziell erwähnen wollten, aus Angst, diese Erwartungen dann nicht erfüllen zu können ;)
Wie auch immer, es wäre wohl halb so wild gewesen, wenn wir das eine oder andere auch vermutlich unrealisierbare Feature erwähnt hätten. Nicht wenige der im Kommentar von Leiter Michael Derntl angesprochenen Fähigkeiten unserer App hatten wir nämlich eigentlich auch irgendwie so im Hinterkopf :)


Da ich diesbezüglich jetzt auch ein wenig aufgelockert bin, will ich hier nun ein paar weitere Visionen, die ich in der letzten Zeit bezüglich des Projektes hatte verraten :D

Vorgestern las ich auf Philipps Blog von seiner Idee, für die einfachere Koordination seines Projektteams inBrowser Groupware zu verwenden. Natürlich war ich davon sofort total begeistert und verbrachte geschätzte 4 Stunden damit, auf englischer und deutscher Wikipedia und Google zig Artikel über collaborative Software zu lesen, mir unzählige Homepages von Herstellern anzuschauen und Demos auszuprobieren. Doch wie auch schon einige Zeit zuvor, als es sich um einfache ToDo Lists handelte, wurde ich auch hier nicht fündig.
Die betrachteten Produkte waren entweder zu komplex, hatten eine abgrundtief hässliche und unübersichtliche GUI, oder unterstützten gewünschte Features nicht, waren teilweise gar nicht frei und allgemein auch nur eher selten auf irgendeinem Hosting-Service verfügbar, sodass wir einfach hätten loslegen können.

Wir haben uns ja schon gleich zu Beginn überlegt, mehr aus dem Projekt zu machen, als nur eine ToDo Liste ;) Nun habe ich mir allerdings konkreter Gedanken darüber gemacht, was wir noch für Features implementieren könnten.
Ich dachte da an so eine Art Bulletin Board, eventuell die Möglichkeit, Dateien und längere Kommentare zu jedem Listeneintrag hinzuzufügen (mir geistert da ein expand/collapse-Button vor meinem inneren Auge herum - das wäre dann ja praktisch mit AJAX, wenn ich das richtig verstanden habe, oder?) und vielleicht auch gleich noch eine Kalenderansicht für die ToDos (bzw allgemein unterschiedliche Ansichten).
Was mich natürlich auch sehr interessieren würde wäre, die einzelnen Listen exportierbar (als .xml - oder gar .ics?) zu machen und vielleicht auch etwas einbauen, das es ermöglicht, Listen zu importieren.
Natürlich sind das jetzt alles nur Vorstellungen, die ich habe und ich habe keine Ahnung, was davon wirklich umsetzbar ist, aber wenn ich bedenke, was mir sonst so durch den Kopf geht, dann sind die oben erwähnten Features vermutlich noch die realistischsten :D


Um es kurz zusammenzufassen: Ich habe da irgendein sehr simples Tool im Kopf, das es ermöglichen soll, die Kommunikation und Koordination für lockere Projekte (wie eben viele Teamarbeiten auf der Uni es sind) etwas zu erleichtern, sodass Mail-Aussendungen auf ein Minimum reduziert werden können, ohne jedoch gleich ein eigenes Forum sich einrichten zu müssen - was nämlich, wenn ich jetzt so an die Dinge, die wir für unsere momentane Zusammenarbeit benötigen, denke, Overkill wäre.



Wie auch immer, im laufenden Arbeitsschritt müssen wir passenderweise ohnehin die geplanten Anforderungen und Features unserer Webapp kurz erklären und präsentieren. Werner hat soweit schonmal kurz das zusammengefasst, was wir bisher besprochen hatten und im Kommentar stand.
Ich werde ihnen jetzt mal meine Ideen offenbaren und bin auf die Reaktionen gespannt :D
Morgen geht's dann voraussichtlich an's Use-Cases modellieren.. Stickmen ftw \o/

Dienstag, 28. Oktober 2008

Von ersten HTML/CSS-Gehversuchen und dem Urteil des Validators

Da saß ich nun also vor der allerersten Aufgabe des Semesters überhaupt und war voll motiviert. Wirklich!
Meine HTML und CSS Kenntnisse beschränkten sich bisher nur auf das, was man als MySpace-Kid und Web2.0-Opfer heutzutage halt so kann, das ist aber nicht viel, und schon gar nicht sauber. Kurz gesagt, meine Aktivitäten auf dem Gebiet waren vor allem von Zusammenkopieren aus diversen Source-Codes bestimmt ;)

Wie auch immer, blutiger Anfänger, der ich also war (und eigentlich mangels Erfahrung und fundierten Wissens immer noch bin, was sich aber hoffentlich bald ändern wird :)), kam mir sofort die immer wieder angesprochene und von mir auch schon früher ab und zu konsultierte Website selfhtml.org in den Sinn. Ich hatte mir ohnehin innerhalb der letzten vier bis fünf Jahre nicht nur einmal vorgenommen, mich einmal dort mehr oder weniger ausführlich einzulesen, um meine HTML Skills zu pimpen.

Gedacht - getan.

Wie auch immer, nachdem ich über die Inhalte der ersten Seiten bereits ziemlich gut bescheid wusste, fing ich an, die Seiten nur mehr zu überfliegen und im weiteren Verlauf dann zu überspringen, bis ich zu dem kam, was mich eigentlich interessierte: Tabellen. Ich wusste, dass ich mich irgendwann mal damit auseinandersetzen müssen würde, und war dementsprechend positiv davon überrascht, wie simpel diese eigentlich zu verwenden sind :).

Das Grundgerüst hatte ich dann also schonmal fertig (obwohl ich doch einige Zeit brauchte, um mich für ein passendes Album zu entscheiden - amüsanterweise war ich kurz davor, das selbe wie ein Kollege zu verwenden), schnell noch ein bisschen im CSS-Kapitel quergelesen und schon stand auch das Grundgerüst für meine .css-Datei. Nach ein paar Stunden hier und da an ein paar Parametern Rumdrehen und vergessene Semikola einsetzen, sah es dann auch in etwa so aus, wie ich es mir vorgestellt hatte :D.


Wunderbar, der Task konnte also als done abgehakt werden, die Dateien wurden gespeichert.... und da blieben sie erstmal auch. Nun ist es bei mir so, dass ich Kalendersoftware sehr dringend benötige, allerdings nicht aus dem Grund, weil ich mir nichts merke, sondern viel mehr, weil sich zwar Daten bei mir schnell einprägen, ich allerdings vergesse, wieso ich sie mir eigentlich gemerkt habe.
So kam es also, dass ich mich plötzlich daran erinnerte, dass am 30. ja irgendeine Deadline für irgendwas war :D Natürlich habe ich in Sunbird aber die Option "hide completed tasks" aktiviert, weshalb ich zunächst etwas verwirrt war, aber zum Glück nach wenigen Sekunden wieder draufkam.

Da ich heute sowieso seltsamerweise außerordentlich motiviert war, irgendetwas zu arbeiten (was man vermutlich mittlerweile auch schon an der Länge dieses Eintrages merkt :P), traf sich das ganz gut, ich jagte meine Datei durch einen HTML Validator und was macht der? - mir gleich mal 2 Warnings und 41 Errors ausspucken :(
Der Schock war groß, war allerdings auch schnell wieder weg, als ich mir das Ergebnis genauer betrachtete:

Die zwei Warnings waren beide mit diesem Kommentar versehen:
The sequence can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates the tag '). However, since many browsers don't interpret it this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.

...und waren demnach also eigentlich mehr als korrekt (wie auch immer, hab ich sie jetzt dem Validator zuliebe ausgebessert :P)
Ähnlich sah es mit den 41 Errors aus, welche ebenfalls alle derselben Natur waren:
An "id" is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).

Wusste zwar zuvor nicht, dass id prinzipiell nur unique verwendet werden darf, aber das sei mir aufgrund meiner durch Unerfahrenheit bedingen Noobishness verziehen. Wie auch immer, zum Glück hat Notepad++ (wie eigentlich alle mir bekannten Texteditors :P - soll nur dokumentieren, womit ich gearbeitet habe ;)) aber eine "Suchen und Ersetzen" Funktion, somit war auch das kein Problem, das nicht schnell gelöst werden konnte.

Und so hatte ich schon circa 10 Minuten später als Result des Validators Passed und anstatt des bösen roten Favicons nunmehr ein beruhigend grünes :) und bekam obendrauf noch diesen wunderbaren Orden verliehen:


Nun musste ich also nur noch eine superstylishe Index-Datei erstellen, die auf die zwei eigentlichen Dateien verlinkt, um diese im CEWebS hochzuladen und tadaaaa - endlich konnte ich den Task wieder und guten Gewissens als done markieren :D