Montag, 19. November 2007

Screencast: Basic Beispiel, Überblick, Architektur

Im ersten Screencast zum Basic Beispiel wurde die Dateistruktur sowie der Build-Vorgang bis zum Eclipse Projekt erklärt. In diesem zweiten Teil setzten wir fort wo der erste geendet hat:

  • Architektonische Details
  • Wie funktioniert der Zusammenhang zwischen Benutzerschnittstelle und "Backend", Layered Architecture
  • Wie wird Spring zum Verdrahten der Objekte verwendet?
  • Swing UI (kurzer Überblick)
  • DAO Interface und Implementation
  • Logging
  • Testen (Unit Tests), automatisiert
  • Resources: Konfigurationsfiles, Logging Config, Datenbank hsqldb
  • Operative- & Test-Resources
  • Interaktion mit der (hsqldb) Datenbank während der Entwicklung und Wartung der Anwendung
Screencast als Quicktime (H.264) Film.

Montag, 15. Oktober 2007

"One Laptop per Child" Projekt: SE Herausforderungen

In dieser Episode des BPSE Podcasts spreche ich mit Aaron Kaplan und Christoph Derndorfer von OLPC Austria. OLPC steht für "One Laptop per Child" und ist eine Initiative die vor wenigen Jahren vom MIT Media Lab gestartet wurde. Das Projekt ist auch unter dem Namen "100$ Laptop" bekannt geworden.

Es ist ein faszinierendes aber auch umstrittenes Projekt, gleichzeitig ist auch viel Fehlinformation über das Projekt in Umlauf. OLPC Austria hat daher vorige Woche an der TU einen Vortrag zum Thema gehalten und wir wollen heute über das OLPC Projekt im allgemeinen aber im besonderen auch über technische Aspekte und die Herausforderungen im Software Engineering für das Gerät diskutieren.

Dies ist besonders auch für Studenten der TU und andere interessant, weil es vielfältige Möglichkeiten der Mitarbeit (auch im Rahmen von TU Praktika, DAs...) gibt.

Wir diskutieren im wesentlichen folgende Punkte:
  • Kernidee des Projektes?
  • Zielgruppe des OLPC?
  • Haben die Kinder in Entwicklungsländern keine anderen Probleme als fehlende Laptops?
  • Technische Aspekte:
    • Netzwerk
    • Hardware
    • Display
    • Robustheit
  • Wie ist der aktuelle Status der Software?
  • Herausforderungen der Software Entwicklung für das Gerät
    • Usability
    • "Limitierungen" der Hardware
    • Effektive Nutzung der innovativen Hardware Features
    • Lokalisation
    • Dokumentation?!
    • Wie sieht die Software-Infrastruktur des Gerätes aus (Programmierumgebung)
    • Best-Practices im SE Prozess?
  • Was kann man noch tun? Motivation für die Mitarbeit?
  • Squeak und OLPC
  • Activity Challenge
Interview als m4a

Dienstag, 2. Oktober 2007

Interview: Studentengruppe SS 07 "Midguard Master" Projekt

In diesem Podcast berichtet eine IFS SE Gruppe mit dem Projekt "Midguard Master" über ihr Projekt. Vielen Dank an David Schmid, Maximilian Ronniger, Martin Bachler, Florian Valente für das Gespräch!

Die Teammitglieder erklären die Idee der klassischen Rollenspiele und wie das Programm "MidguardMaster" den Spielleiter beim Rollenspiel unterstützen soll. Die Anwendung erlaubt die Abbildung von Rollenspielen: Karten, Charaktereigenschaften können editiert und erstellt werden, Waffen definiert usw. Um den Spielleiter in bestimmten Spielsituationen besser zu unterstützen können Spiel-Regeln erstellt werden die zu bestimmten Zeitpunkten ausgewertet werden.

Für die Implementation sind daher neben Persistenzmechanismen auch relativ komplexe und flexible Regeldefinitionen notwendig wofür eine eigene Regel-Engine eingesetzt wurde.

Weiters wird über die erfolgreiche Kommunikation innerhalb der Gruppe und einige andere Erfahrungen gesprochen.



Interview als m4a

Samstag, 22. September 2007

Screencast: Getting Started (Basic Beispiel Teil 1)

Dieser Screencast gibt eine erste Starthilfe wie mit dem Beispiel-Website und dem Basis-Beispiel umzugehen ist. Er führt kurz über die Struktur der Beispiels-Dokumentation, über den Download und Build-Vorgang der Beispiele bis zum Importieren und Starten des Basis-Beispiels in Eclipse.

In diesem Screencast sehen Sie also folgende Dinge:

  • Struktur und Idee der Webseite (v.a. bezogen auf das Basis-Beispiel)
  • Funktionalität und einige Kommentare zur Architektur und Technik des Basis-Beispiels
  • Download der Beispiele und Entpacken derselben am eigenen Computer
  • Wie sieht die Filestruktur des Basisbeispiels aus?
  • Kurze Einführung in das Konzept der Maven poms
  • Build mit Maven
  • Erstellen der Eclipse Projektfiles und importierren des Basis-Beispiels in Eclipse
  • Basic Beispiel in Eclipse starten
Nicht Teil dieses Screencasts ist es, die Struktur oder Architektur und Funktionalität des Beispiels konkret zu verstehen. Dies ist Aufgabe des zweiten Teils.

Screencast als Quicktime (H.264) Film.

Freitag, 9. Februar 2007

Was ist ein Screencast?

Grundsätzlich gilt für die Screencasts zunächst dasselbe was im vorigen Posting über Podcasts gesagt wurde.

Technisch gesehen ist jedoch der Screencast kein m4a File sondern ein Video. Der Feed ist derselbe, d.h. hat man den Podcast abonniert bekommt man sowohl die Podcasts als auch die Screencasts automatisch "geliefert".

Die Screencasts sind "Lehrvideos", die vom Bildschirm mitgeschnitten wurden. Die Videos sind im Quicktime Format mit dem H.264 Codec kodiert. Ich habe mich lange mit verschiedensten Codecs herumgespielt und H.264 hatte mit Abstand die beste Qualität bezogen auf die Filegröße.

Zum Abspielen wird unter Mac OS X und Windows Apple Quicktime oder iTunes empfohlen. Unter Linux sollte VLC funktionieren, würde mich über Feedback freuen. Windows Media Player kann funktionieren, es kann aber auch zu eigenartigem Verhalten kommen (wie bspw. versetzte Bild/Tonspur). Wer immer gute Erfolge mit anderer Wiedergabe Software hat, bitte hier posten.

Anmerkung zu mobilen Playern: Die Screencasts funktionieren vermutlich mit den meisten mobilen Playern nicht. Allerdings würde das auch nicht viel Sinn machen, weil man nicht genug erkennen könnte. Gerade die Screencasts setzen eine 1:1 Wiedergabe mit guter Auflösung voraus, also bitte am Mac/PC anschauen.

Die Screencasts haben weiters auch Kapitel definiert, damit man ggfs. Teile die man sich nochmals ansehen möchte besser finden kann, oder andere, für die man sich nicht interessiert leicht überspringen kann.

Donnerstag, 8. Februar 2007

Was ist ein Podcast?

Ein paar technische Informationen:

Ein Podcast ist eine Serie von Sendungen (ähnlich einem Radioprogramm), die man abonnieren bzw. sich einzeln von diesem Blog runterladen und anhören kann. Zusätzlich zum Ton bietet ein enhanced Podcast auch noch die Möglichkeit Bilder und Links einzubetten, und ist in "Kapitel" strukturiert.

Den Podcast abonnieren

Um den Podcast bequem anhören zu können empfehlen wir die Verwendung von Apple iTunes (unter OS X und Windows), es gibt aber auch eine Menge anderer "Podcatcher" für verschiedene Plattformen (Übersicht z.B.: http://wiki.podcast.de/Podcatcher), wir beschreiben hier die Vorgehensweise für iTunes:
  • In iTunes das "Erweitert" Menü anwählen und dort "Podcast abonnieren" wählen und folgende URL eintragen:
  • http://feeds.feedburner.com/best-practice-software-engineering-podcast
  • oder direkt mit einem Klick auf diesem Link abonnieren: iTunes
Damit haben Sie den Podcast abonniert und können immer (auch automatisch) die neueste Episode laden und am Mac/PC oder am iPod anhören.

Enhanced Podcast

Da wir einen enhanced Podcast produzieren sind oftmals im Programm auch Bilder oder Links (URLs) verfügbar. Fallweise auch Videos (bei den Screencasts): diese sehen Sie im iPod oder in iTunes wenn sie links unten das Video Fenster öffnen. Wenn Sie in das Video Fenster klicken können Sie das Bild auch größer betrachten.

Um einen Abschnitt (Kapitel) im jeweiligen Podcast direkt anwählen zu können, verwenden Sie in iTunes bitte das "Kapitel" Menü, im iPod können Sie mit den "vorwärts" und "rückwärts" Tasten innerhalb des Podcasts navigieren, sofern im jeweiligen Podcast Kapitelmarken gesetzt sind.

Sie können die Podcasts auch über die URL einzeln herunterladen und mit anderen Programmen ansehen, wir empfehlen in diesem Fall auf Mac OS X oder Windows Quicktime zu verwenden, und unter Linux VLC.

Ich habe mittlerweile auch Miro ausprobiert (Open Source für Mac, Windows, Linux), ein sehr interessantes Projekt (vormals Democracy Player). Spielt jedenfalls unter Mac die Podcasts, allerdings hatte ich keinen Zugriff auf die Kapitel; bequemer ist also zur Zeit sicherlich Quicktime oder iTunes.

Mobile Player

Die Pod- und Screencasts funktionieren im Prinzip auch gut auf mobilen Playern, z.B. iPods. Hat man den Podcast z.B. in iTunes abonniert kann man die neuen Episoden auch leicht automatisch auf den iPod synchronisieren. Je nach Display-Größe des Gerätes kann man auch die Folien lesen. Ein iPod Nano ist sicher zu klein, auf einem Touch oder iPhone kann man das meiste einwandfrei lesen.

Auch hier gilt, falls jemand Erfahrung mit anderen Podcatchern/mobilen Playern hat, bitte posten.

Wie gesagt, man kann Podcasts mit einer Vielzahl an Programmen auf verschiedensten Endgeräten und Betriebssystemen anhören/ansehen. Da es mir nicht möglich ist alle Varianten zu testen empfehle ich diejenigen von denen ich sicher bin, dass sie gut funktionieren. Sollten Sie andere Programme verwenden, die ebenfalls gut funktionieren, beschreiben Sie diese bitte in einem Kommentar zu diesem Artikel! Vielen Dank!

Podcast habe ich verstanden, aber Screencasts?

Weiterlesen "Was ist ein Screencast"?

Dienstag, 6. Februar 2007

Über diese Podcast Reihe

Diese Podcast Serie ist Teil der "Best-Practice-Software-Engineering" (BPSE) Initiative. Dazu gehören im Augenblick:

Im Rahmen dieses Podcasts werden daher Vorlesungen aufgezeichnet die Konzepte erklären sowie sich auf den Beispiels-Website beziehen und als enhaned Podcast (also mit Folien) wiedergegeben, weiters Interviews mit Studentengruppen über deren Erfahrungen, Screencasts die Einsteigern helfen sollen und in Zukunft weitere technische Podcasts über bestimmte Aspekte des Sotware-Engineering.

Wer technische Fragen hat z.B. wie man sich die Podcasts anhören / ansehen kann, wie man abonnieren kann usw. bitte folgenden Artikel lesen.