Abstracts prio.conference 2009
Keynote 1: Mein neuer PC ist ein Handy - Techniken und Technologie für die neue Kleinheit, Prof. Dr. Patrick Baudisch, Microsoft Research
Eine Plattform hat die Computerisierung zu den Massen der Welt gebracht. Es ist jedoch weder der Desktop Computer noch der Hundert-Dollar Laptop—es ist das Mobiltelefon. 4 Milliarden davon. Wie kommt es, dass wir PCs überhaupt noch benutzen? Mobilgeräte haben eine große Einschränkung: Mobilität erfordert Kleinheit. In den ersten Jahrzehnten der Entwicklung wurde die Miniaturisierung der Geräte stetig durch die Miniaturisierung der verwendeten Hardware vorangetrieben. Doch diese Entwicklung ist inzwischen fast zum Stillstand gekommen. Der Grund ist, dass die Limits inzwischen nicht mehr in erster Linie technischer Natur sind—die neuen Limits liegen im Bereich der Mensch-Maschinen-Schnittstelle: Bildschirme müssen groß genug sein um sichtbar zu sein; Tastaturen müssen so groß sein, dass man auf ihnen tippen kann.In diesem Vortrag werfe ich einen Blick auf Forschungsergebnisse und Prototypen, die aus dieser Spannung resultieren. In der ersten Hälfte des Vortrags gehe ich der Frage nach, ob und wie es möglich ist auf Mobilgeräten jene komplexen Aufgaben zu bewältigen, die wir heute noch auf großen Desktop-Computern lösen. Wie können wir Anwendungen visuell „komprimieren“, um sie in kleine Bildschirme zu packen? Oder ist es erfolgversprechender mobile Bildschirme virtuell zu erweitern, indem wir Inhalte „off-screen“ lagern? In der zweiten Hälfte des Vortrags werfe ich einen Blick in die Zukunft der Miniaturisierung. Neue Mobilgeräte, die zehnmal kleiner sein werden als die heutigen, werden nicht mehr mitgenommen, sondern am Körper getragen. Ich zeige eine Serie von Nanotouch-Geräten, die durchsichtig erscheinen und es Benutzern dadurch ermöglichen die Geräte über die Geräterückseite zu steuern. Neue, winzige Touchscreens erreichen die für die Miniaturisierung benötigte Präzision dadurch, dass Fingerabdrücke des Benutzers mit einbezogen werden. Zum Abschluss des Vortrags werde versuchen die Zukunft mobiler Miniaturisierung vorherzusagen.
Keynote: The iPhone as an Application Platform for .NET Developers // Geoff Norton, Novell, Inc.
Attendees will be introduced to the new MonoTouch platform for developing iPhone applications using C#. This session will cover the .NET binding to the native iPhone APIs and how to build an application from the ground up using MonoDevelop Interface Builder, the iPhone Simulator and deploying your software to a physical device. We will discuss the limitations of .NET on the iPhone, static compilation and linking to reduce the size of your applications for distribution on Apple's AppStore. We will also discuss the design and philosophy behind the MonoTouch API and how this maps to the underlying Objective-C world and Interface Builder.
User Interface Design for Testability // Christoph Preschern
Die Automatisierung von User Interface Tests kann auf unterschiedliche Weise erfolgen. Je nach verwendeter Technologie gibt es sowohl freie als auch kommerzielle Software zur Erstellung automatisierter User Interface Tests. Unabhängig davon können bereits zum Design- und Entwicklungszeitpunkt der Applikation erste Vorkehrungen zur Erhöhung der Automatisierbarkeit getroffen werden.
Christoph Preschern gibt im Rahmen des Vortrags nicht nur einen Einblick in die Möglichkeiten zum Thema ‚Design for Testability‘, sondern zeigt auch durch welche Maßnahmen die Kommunikation und der Know-How Transfer zwischen Software Tester und Software Entwickler verbessert werden kann.
Internationalisierung von WPF-Anwendungen // Mathias Raacke
Sie entwickeln Ihre Anwendungen nicht nur für einen Markt, sondern müssen Ihre Anwendung an verschiedene Sprachen und Kulturen anpassen können? Das war bei Windows Forms und ASP.NET einigermaßen bequem möglich, also wird das doch im neuen WPF mindestens genauso einfach sein? Die Realität sieht leider anders aus. Windows Presentation Foundation Anwendungen lassen sich nicht mehr so einfach und bequem im Designer in andere Sprachen übersetzen, wie es noch bei Windows Forms oder ASP.NET Anwendungen möglich war. Visual Studio und Expression Blend bieten keine direkte Unterstützung für die Lokalisierung. Stattdessen bietet Microsoft nur eine Lokalisierungs-API, mit deren Hilfe eigene Lokalisierungswerkzeuge entwickelt werden müssen. Zu dieser API gibt es sogar eine Beispielanwendung; für mehr als die Übersetzung einer „Hello World“-Anwendung taugt diese jedoch nicht. Deshalb finden sich im Web auch unterschiedlichste Alternativen, um WPF Anwendungen zu lokalisieren, z.B. die Verwendung „klassicher“ .resx-Ressourcendateien oder spezieller XAML-Markup-Extensions. In diesem Vortrag erfahren Sie, mit welchen Techniken Sie Ihre WPF Anwendungen an verschiedene Sprachen und Kulturen anpassen können. Nach einem Überblick über die WPF Lokalisierungs-API werden verschiedene alternative Lokalisierungsmöglichkeiten vorgestellt.
User Interface Sketching mit Balsamiq Mockup und Expression Blend 3 // Albert Weinert
Das User Inteface (UI) Sketching am Computer hat den Vorteil dass auch der untalentiertere Zeichner ordentliche UI-Skizzen erstellen kann. Generell laden Skizzen auch den Kunden dazu ein, schneller Verbesserungen vorzuschlagen, so dass direkt erkannt wird, dass es sich nicht um die fertige UI handelt. Mit Skizzen werden schnell Probleme erkannt, können ohne viel Aufwand behoben werden und es werden einfach mehr Varianten ausprobiert. In diesem Vortrag werden die Möglichkeiten des UI-Sketching mittels Balsamiq Mockup und Expression Blend 3 gezeigt. Zudem werden die Vor- und Nachteile erläutert sowie Hintergrundwissen zum Thema Sketching vermittelt. Er wendet sich im Kern an Software-Entwickler die an User Interfaces arbeiten und diese auch selbst gestalten müssen. Jedoch finden auch Kunden oder Chefs hiermit Möglichkeiten einem Entwickler mitzuteilen was man gerne hätte.
Silverlight 3 – schon reif für datengetriebene Geschäftsanwendungen? // Thomas Huber
Mit Silverlight 3 wurden zahlreiche Neuerungen eingeführt. „Out-Of-Browser“-Unterstützung, neue Controls oder verbessertes Data Binding sind nur einige davon. Diese Session zeigt, wie diese Neuerungen den Anforderungen datengetriebener Geschäftsanwendungen gerecht werden. Dazu wird im Live-Coding eine typische Anwendung zum Anzeigen und Manipulieren von Daten aufgebaut, welche auch die Möglichkeiten zum Validieren von Benutzereingaben aufzeigt. Zum Einsatz kommt dafür unter anderem das neue DataForm-Control und das Child Window. Um die Daten aus der Datenbank zu laden, werden nach einer gezeigten Variante mit den ADO.NET Data Services die .NET RIA Services verwendet und anhand der entwickelten Anwendung die Stärken und Schwächen der dritten Silverlight-Version aufgezeigt. Dabei wird auch durchgängig auf die für WPF-Entwickler interessanten Unterschiede zwischen Silverlight und WPF eingegangen. Denn mittlerweile ist „der grosse Bruder“ (WPF) nicht mehr eine klassische Obermenge von Silverlight. Silverlight enthält einige Controls, die in der WPF auf diese Art und Weise nicht anzutreffen sind.
Usability-Testing – ganz einfach // Tobias Hauser und Christian Wenz
Usability-Tests müssen keine komplexen wissenschaftlichen Studien sein. Mit einfachen Mitteln lassen sich grobe Schnitzer und kleine Verbesserungspotentiale in Oberflächen finden. Neuralgische Punkte bei der Usability-Analyse sind vor allem Navigation, Suche, Formulare und Textgestaltung. Sei es ein Warenkorb, eine komplexe Navigationsstruktur oder eine Anwendungsoberfläche im Web. Unterschiedliche Website-Typen stellen unterschiedliche Anforderungen. Dementsprechend wichtig ist der individuelle Test.
Der Vortrag zeigt an Hand eines beispielhaften Testaufbaus, untermalt von Usability-Videos aus Praxisprojekten und begleitet von Ergebnissen aus umfangreichen Analysen wie sich die Nutzbarkeit einer Website erforschen lässt. Die Teilnehmer erhalten Einblick in den kompletten Prozess vom Finden der Testziele und der Testpersonen über die Fragebögen bis zur eigentlichen Nutzerbeobachtung und der Auswertung aller Ergebnisse. Konkrete Hinweise helfen, häufige Fehler beispielsweise bei der Testpersonenauswahl oder in der Ergebnisauswertung zu vermeiden. Zu guter Letzt wird diskutiert wie sich Usability als fortwährender Prozess in der Web- und Softwareentwicklung verankern lässt.
RIA-Usability-Bugs und Gegenmittel // Christian Wenz
Zahlreiche RIA-Anwendungen – egal ob mit Flash, Silverlight, Ajax oder einer anderen Technologie implementiert – leiden unter typischen Usability-Fehlern: Bookmarks können nicht angelegt werden, die Vor-/Zurück-Schaltflächen im Browser haben nicht mehr den gewünschten Effekt, die Latenz der Serveranbindung hat Auswirkungen auf die Funktionsweise der Anwendung, ein Ausfall der Internetverbindung wird nicht erkannt und ein Absturz des Browsers lässt alle aktuellen Daten verschwinden. Für diese und weitere Usability-Bugs gibt es Gegenmittel, teils recht trivial, teils ziemlich aufwändig. Je nach Technologie sind einige dieser Gegenmittel bereits vorhanden oder müssen selbst nachgebaut werden. Der Vortrag identifiziert eine Reihe von typischen Fehlern, stellt mögliche Gegenmittel anhand von Codebeispielen vor und diskutiert jeweils das Für und Wider der verschiedenen Ansätze. Der technologische Schwerpunkt liegt dabei auf ASP.NET AJAX und Silverlight, wobei viele der Techniken auch auf andere RIA-Technologien übertragen werden können. Nicht immer überwiegt der Nutzen einer Maßnahme ihre Kosten, und das gilt erst Recht für Rich Internet Applications. Andererseits gibt es keine Entschuldigung dafür, das Thema Usability komplett zu verdrängen, getreu dem Motto „What users want is convenience and results“ (Jef Raskin)!
Aspects for User Interfaces // Gael Fraiteur
WPF and Silverlight made a big step forward in making UI programming more declarative. But is it enough? Don’t we have to concede that many problems still require a lot of plumbing code? Think of thread synchronization, exception handling, validation, implementation of INotifyPropertyChanged… and a big amount of uninteresting code will surely come to your mind. Yet, with aspect-oriented programming (AOP), even these problems can be solved declaratively! This session will show you, using Visual Studio more than PowerPoint, how to develop aspects that you can start using immediately in your own projects – decreasing their cost and increasing their quality.
Web das Spaß macht: Zum modernen Browsergame in 60 Minuten // Dirk Primbs
Spiele sind längst nicht mehr nur leistungsstarken Clients vorbehalten und zwingen auch nicht mehr zum persönlichen Dialog mit der Grafikhardware. Immer öfter werden statt dessen für die kleine Zerstreuung zwischendurch webbasierte Spiele genutzt und müssen sich dank Technologien wie Silverlight weder grafisch noch spielerisch verstecken. In diesem Vortrag wird ein solches Spiel von Grund auf entwickelt wobei sowohl auf die typischen Herausforderungen dieser Softwaregattung eingegangen wird als auch auf die technologischen Eigenheiten einer derartigen RIA Anwendung. So dürfte auch für jeden etwas Nützliches in dieser Stunde stecken, der mehr als statische Tabellen aus dem Web holen möchte.
Mustergültig – GUI Design-Patterns // Michael Wiedeking
Design-Patterns haben sich inzwischen -nicht nur in der Informatik- als ideales Hilfmittel zur Verbreitung etablierter Vorgehensweisen erwiesen. Sie eignen sich deshalb auch genauso gut, um immer wiederkehrende Elemente in Benutzeroberflächen zu beschreiben. Dieser Vortrag stellt die wichtigsten GUI-Design-Patterns vor und zeigt deren Einsatzmöglichkeiten mit den damit verbundenen Vor- und Nachteilen auf. Es werden die nach heutigem Stand der Technik existierenden Standard-Mechanismen beschrieben, die eine intuitive Bedienung ermöglichen.
Auflösungsunabhägige Darstellung von Benutzeroberflächen // Michael Wiedeking
Mit immer schneller voranschreitender Verbesserung der Display-Technik, müssen Applikationen zunehmend besser mit höheren Auflösungen zurecht kommen. Waren neulich noch Monitore mit einer Bildschirmdiagonale um die 19" bei 75 dpi weit verbreitet, so muss man heute – auch wegen der mobilen Geräte – mit Auflösungen um 100 dpi und mehr, bei Diagonalen von 2" oder 25" rechnen.
Dieser Vortrag beschäftigt sich mit den grundsätzlichen Aspekten der Oberflächengestaltung in Bezug auf die Probleme, die durch den Einsatz unterschiedlicher Auflösungen entstehen. Dabei werden die theoretischen Grundlagen erläutert und an Beispielen demonstriert, wie Probleme vermieden werden können.
User Centered Software Engineering // Markus Stolze
Benutzerzentriertes Software Engineering ist unerlässlich wenn es darum geht Software nützlicher und bedienbarer zu gestalten. Für die Erstellung interaktiver Software müssen bekannte Software Engineering-Methoden mit Methoden des User Centered Design ergänzt werden. Die Erstellung von Use Cases und Sequenz Diagrammen ist nicht genug um die Usability von Software sicher zu stellen.
In meiner Präsentation stelle ich drei zentrale Techniken des User Centered Design vor: Contextual Inquiry, Szenarios und Paper Prototyping. Contextual Inquiry hilft reale Benutzerziele zu identifizieren. Mit Szenarien wird beschrieben wie Benutzer diese Ziele erreichen können. Und mit Paper-Prototypen wird sicher gestellt, dass das Benutzer die Szenarien effizient und zielgerichtet durchlaufen können. Projekt-Teams, die diese Techniken gewissenhaft anwenden, können sicher sein, dass die von ihnen entwickelte Software nützlich und bedienbar ist.
Auf dem Weg zu guten User Interfaces // Markus Flückiger
Wie entwirft man nützliche Software mit einfach benutzbaren und attraktiven Benutzerschnittstellen, und dies schnell? Genügt Wissen über die Gestaltung interaktiver Produkte und ein Auge für Ästhetik? Die Arbeitsweise von Designern und Usability Experten, aber auch von Software Entwicklern zeigt, dass in diesem Prozess Skizzen auf Papier und einfache, interaktive Prototypen eine herausragende Rolle spielen. Der Vortrag hakt hier ein und sucht hinter den Kulissen nach Antworten auf die Frage, wie wir eigentlich Probleme lösen und was uns kreativ macht. Die Antwort überrascht vielleicht: weder logisches Schlussfolgern noch Brainstorming dominieren, vielmehr sind dies Intuition und Vernetzung. Also: was steckt hinter diesen beiden Begriffen und wie können Sie das in Projekten ausnutzen? Welche Rolle spielen die erwähnten Skizzen und interaktive Prototypen? Und wie war das mit der Kreativität? Es wird klar: spannende Lösungen entstehen mit Hilfe von Techniken und Vorgehensweisen, die Wissen und Fähigkeiten des Projektteams mit Bedürfnissen von Anwendern und Auftraggebern verbindet. Kurz und knapp lautet deshalb die Empfehlung für gute User Interfaces: Vernetzen Sie sich. Führen Sie von nun an den Dialog mit dem Entwurf auf Papier, holen Sie sich rasch Feedback und kommunizieren Sie interaktiv.
User-Interface – das fremde Wesen? // Daniel Fisher
Im Back-End spielen User-Interfaces keine Rolle. Gar keine? Nun ja, Irgendjemand wird einen Prozess ja nun mal starten, überwachen oder mit Ihm Interagieren. Erfahren Sie in dieser Session, wie das „fremde Wesen“ aus dem Back-End gesehen wird, wo Wartbarkeit, Pflegbarkeit, Erweiterbarkeit und Langlebigkeit die größte Rolle spielen. Es wird erklärt mit welchen Methoden die Entwicklung geplant wird, mit welchen Erwartungen und Herangehensweisen ein UI gebaut, gepflegt und erweitert wird. Das Ziel des Vortrages ist es zu Zeigen wie man professioneller Front-Ends bauen kann und dass es schon lange nicht mehr um das *zusammenklicken* eine UIs geht. Es wird die Methodologie Front-End-First vorgestellt, gezeigt wie SOLID-Patterns und MVP/MVC helfen können robustere Oberflächen zu erstellen.
How to WOW – wie man bestehende Anwendungen aufpeppt // Bernhard Pichler
Wenn Entwickler ein Formular erstellen endet das oft in einem Kraut und Rüben Design. Das muss nicht so sein. Es gibt einige Regeln und Möglichkeiten, das eigene Design aufzupeppen und die Anwendung schöner aussehen zu lassen. Wir nehmen uns bestehende Anwendungen vor, erläutern was und warum etwas nicht „schön“ und gut zu gebrauchen ist und zeigen, wie man es besser machen kann. Obwohl wir die Lösungen in WPF zeigen, soll es nicht um technische Aspekte gehen, sondern man sollte am Ende ein Auge bekommen und Richtlinien an der Hand haben, wie man grobe Fehler vermeiden kann.
UI-Entwicklung mit der Empinia-Plattform // Tobias Schnackenbeck
Die Entwicklung und Wartung komplexer Benutzeroberflächen bei Rich-Client-Anwendungen kostet viel Zeit. Wenn die Anwendung zusätzlich flexibel erweiterbar sein soll muss die Software-Architektur sehr sorgfältig durchdacht sein, um nicht in einer Sackgasse zu enden. In der Java-Welt zeichnet sich für diesen Zweck Eclipse RCP als Standard ab. Mit Empinia wurde Ende 2008 eine Open Source Plattform veröffentlicht, die diese Ziele bei .NET erreichen will. Einfache Erweiterbarkeit wird mit einer Plugin-Infrastruktur gewährleistet. Empinia fokussiert sich zunächst auf die Entwicklung von Desktop-Anwendungen. Entwicklern werden eine Reihe von Hilfsmitteln angeboten, welche die Erstellung, Pflege und Erweiterung umfangreicher Benutzeroberflächen unterstützen. In unserem Vortrag wollen wir sowohl Theorie als auch die Praxis mit Empinia beleuchten. Es sollen typische Probleme der Softwareentwicklung und der Lösungsansatz gezeigt werden, der bei Empinia umgesetzt wurde. Am Ende des Vortrags soll eine Live-Demonstration der Entwicklung mit Empinia stehen.
Automatisiertes Testen von Silverlight Anwendungen // Stefan Lieser
Mit Silverlight steht dem .NET Entwickler ein Werkzeug für Web-Anwendungen zur Verfügung, bei dem er seine gewohnten Programmiersprachen und Tools weiter verwenden kann. Doch wie steht es um das automatisierte Testen von Silverlight Anwendungen? Welche Herausforderungen gilt es dabei zu meistern? Welche Tools stehen zur Verfügung? Gibt es spezielle Anforderungen an die Architektur von Silverlight Anwendungen damit diese automatisiert getestet werden können?
Stefan Lieser legt in seinem Vortrag dar, welche Besonderheiten es beim Testen von Silverlight Anwendungen zu beachten gilt. Anhand von Beispielen zeigt er einige der verfügbaren Tools und gibt Hinweise zur Architektur testbarer Silverlight Anwendungen.
Zuhörer sollten über Grundkenntnisse der Silverlight Technologie verfügen. Der Vortrag richtet sich sowohl an Softwareentwickler die einen Einstieg in die Materie suchen, als auch an Entscheider die erfahren möchten, wo die Stärken von Silverlight liegen.
Multi-Touch-Table selbstgebaut // Daniel Springwald
Der Vortrag gibt einen Überblick von der Konstruktion der Hardware mit moderaten Kosten bis hin zur ersten eigenen WPF-Anwendung für den Multi-Touch-Table (MTT) Vorstellung des grundsätzlichen Funktionsprinzips, zwei Hardware-Konzepte im Vergleich und ihre Vor- bzw. Nachteile, die schwierige Wahl der passenden Projektionsfläche, die häufigsten Fehler bei der Konstruktion der Hardware, Algorithmen für die Auswertung der Kamera-Rohdaten, Vergleich vorhandener Frameworks für Multi-Touch vs. komplett selbst erstellte Auswertung, erste Anwendungen mit Windows Presentation Foundation (WPF) auf dem Table, Besonderheiten der Benutzeroberfläche für einen MTT, Ausblick. Nach dem Vortrag und unter Verwendung des Blogs des Referenzen sollte den Interessierten der Einstieg in den Bau und Programmierung eines Multi-Touch-Tables möglich sein. Wer frühzeitig selbst erste Erfahrungen mit Multi-Touch Entwicklung machen möchte, aber beispielsweise nicht mit Surface oder iPhone arbeiten will, kann den Bau eines eigenen MTT in Erwägung ziehen. Mit etwas handwerklichem Geschick ist es recht schnell möglich, ein solches Gerät zu konstruieren.
Weniger ist Mehr - UI und Hardware für Benutzer ohne Computererfahrungen // Daniel Springwald
Die Zielgruppe für einfach zu bedienende Geräte wächst beständig – nicht ohne Grund haben sich Wii, iPod Touch, iPhone etc. ganz neue Nutzergruppen erschlossen, die Benutzung von Computern bisher gemieden haben. Wenn Benutzer mit keinen oder eingeschränkten Erfahrungen kurzfristig Computer bedienen sollen, ergeben sich jedoch ungewohnte Herausforderungen. Dieser Vortrag soll einige davon inkl. möglicher Lösungsansätze vorstellen. Vorstellung verschiedener Praxisbeispiele: Lern- und Videospiele für Kinder ab 3 Jahren, Touchscreen-Terminal für Senioren und Touchscreen-Terminal für eine Haussteuerung; Einsatz von Symbolen; Aufteilung komplexer Aufgaben in einzelne Schritte und Assistenten-Workflows; gute Lesbarkeit für in der Sehfähigkeit eingeschränkte Benutzer vs. zeitgemäßes und modernes Design; wie reagieren erfahrene Benutzer auf diese UIs?; Verwendung spezieller Hardware und Controller, die bekannte Gegenstände imitieren. Aktuelle, komplexe Oberflächen, die häufig für großen Auflösungen optimiert sind, eignen sich nur sehr eingeschränkt für Benutzer ohne Computererfahrung. Spezielle Controller, Monitore und entsprechend entwickelte UIs bieten jedoch zahlreiche Möglichkeiten, die Bedienung auch Personen mit wenig Computererfahrung zu ermöglichen. Dazu ist ein Umdenken beim UI-Design und eine Konzentration auf das Wesentliche notwendig.
Von der Idee zur fertigen UI – für Entwickler // Golo Roden
Wie entwirft man eine neue UI von Grund auf? Wie führt man Usabilitytests durch? Wie überarbeitet man eine bestehende UI? Worauf muss man in Bezug auf Barrierefreiheit achten? Um all diese Fragen müssen sich Entwickler glücklicherweise nicht kümmern – falls ein Designer das Team unterstützt. Sind Entwickler allerdings auf sich allein gestellt, werden diese Fragen in der Regel gänzlich ignoriert, und es wird eine rein funktionale Oberfläche erstellt. Der Grund hierfür ist: Entwickler verbinden das Entwerfen von UIs mit künstlerischem und kreativem Grafikdesign, was ihren analytischen und logischen Fähigkeiten zuwider läuft. Golo Roden zeigt in dieser Session, wie Entwickler von der Idee zur fertigen UI kommen – auch ohne dedizierten Designer. Er erläutert die Kernbegriffe User Model und Program Model, und demonstriert an Hand von zahlreichen praktischen Beispielen live, wie Entwickler den Themen UI und Usability begegnen können. Das Ergebnis: Entwickler verlieren ihre Angst vor dem Entwurf von UIs, haben für zukünftige Projekte eine Palette von praktisch anwendbaren Sofortmaßnahmen und -regeln zur Hand, und schreiben dadurch besser bedienbare Software.
IT braucht Psychologen // Steffen Eßers
Wer weiß wohl besser, wie Menschen ein User-Interface wahrnehmen? Informatiker oder Psychologen? Dieser Vortrag vertritt die Position, dass Ingenieur- und Arbeitspsychologen Technik, also auch Software, besser auf die Fragen der Anwender vorbereiten können. Am Beispiel der Open Source Groupware Tine 2.0 wird veranschaulicht, wie Psychologen die Qualitätssicherung bereits ab der Produktidee angehen. Folgende Schwerpunkte werden dabei herausgestellt:
- Psychologische Anforderungsanalyse und –absicherung
- Anwenderorientiertes Interaktionsdesign
- (agile) Usabilitytests
Produkte mit User Interface werden für Menschen gemacht. Erfolgreiche Produkte berücksichtigen die Bedürfnisse und Erwartungen der Anwender bereits während der Entwicklung und vermeiden so Änderungen im Nachhinein. Erfolgreiche Produkte sind kein Zufall!
Silverlight und die .NET RIA Services // Oliver Scheer
Die Integration bestehender Datenquellen in RIA-Anwendungen war bisher oftmals mit Technologiebrüchen versehen, die oftmals zu hohen Reibungsverlusten oder immensen Mehraufwand in der Frontend- und Backend-Entwicklung bedeutet haben. Die .NET RIA Services erlauben eine sehr effiziente Erstellung von datengetriebenen Anwendungen mit etablierten und standardkonformen Techniken für Silverlight. Dabei wird das Rad nicht schon wieder neuerfunden, sondern auf ADO.NET basierende Zugriffstechnologien gesetzt. Dieser Vortrag gibt ihnen einen tiefen Einblick in die Entwicklung solcher RIA-Anwendungen.
Passive-View-Command Pattern - Agile User Interface Entwicklung mit Test Driven Development // Urs Enzler
Agil zu sein bedeutet, schnell und erfolgreich auf Änderungen, neue Chancen und Gefahren reagieren zu können. Vor allem im UI Bereich – meist der Teil der Applikation, welcher der Kunde als einzigen zu sehen bekommt – sind viele Änderungen während der Entwicklung zu erwarten. Änderungen des Look and Feels, aber auch der dahinter liegenden Funktionalität. Im praktischen Einsatz sind UI Layer jedoch oft unflexibel, schlecht erweiterbar oder modifizierbar. Fehlende loose Kopplung und keine klare Trennung der Verantwortlichkeiten haben zur Folge, dass die Komplexität der User Interface Implementation übermässig steigt. In dieser Session zeige ich Ihnen auf, wie wir mit dem Design Pattern Passive View Command - eine Kombination von Passive View (Martin Fowler) und Command Pattern - diese Problematik lösen. Dieses neue Pattern besteht aus View (Look and Feel), Presenter (User Interface Logik), Commands (Aktionen, welche auf dem Model ausgeführt werden können) und dem Model (Business Logik und Domain Daten). Die Vorteile liegen in der klaren Trennung der Verantwortlichkeiten der einzelnen Klassen und Komponenten und der Unterstützung, fast alle Teile mit Test Driven Development (TDD) entwickeln zu können. Aus der Session resultiert eine Beispielapplikation, welche das Passive-View-Command Pattern umsetzt und mit Hilfe von TDD und dem Mocking Framework NMock2 entwickelt wurde.
Einführung Silverlight 3.0 // Thorsten Kansy
Alle reden über Microsofts neuen Weg der RIA-Entwicklung. Doch wie sieht die Entwicklung wirklich aus und was kann mit Silverlight 3.0 wirklich realisiert werden. Und mit welchem Aufwand? Dieser Vortrag gibt einen Überblick — nicht nur für Entwickler sondern auch für Projektleiter und Entscheidungsträger interessant.
Herangehensweisen für das Redesign einer Software // Daniel Greitens
WPF und Silverlight bieten neue Möglichkeiten zur Gestaltung von User-Interfaces, z.B. auflösungsunabhängige Vektorgrafik, Animation und 3D. Daraus ergibt sich zwar ein sehr großer Gestaltungsspielraum, aber auch die Notwendigkeit mit den neuen Möglichkeiten im Sinne des Benutzers umzugehen. Dieser Vortrag zeigt an Hand von echten "Vorher-Nachher" Projekten eine praktische Herangehensweise wie bei einer Migration einer Anwendung auf WPF oder Silverlight Schwachstellen des User-Interfaces ausgemacht und eliminiert werden können.
Es muss nicht immer RIA sein - User Interfaces mit AJAX // Jan Schenk
Dass Rich Interactive Applications heute im Web-Alltag bereits zum guten Ton gehören, lässt sich nicht verleugnen. Bunter, runder, leuchtender. Doch es gibt Szenarien, bei denen ein schlankes Frontend wünschenswerter oder sogar Anforderung ist. Trotzdem muss nicht auf Bedienkomfort und gutes Design verzichten werden. Hierzu dient die asynchrone Verwendung von Javascript zusammen mit XML, kurz AJAX. Wie sich User Experiences erster Klasse dank AJAX trotzdem verwirklichen lassen und warum und AJAX bei Entscheidungsfreiheit gegenüber anderen Technologien sogar gewinnen kann, erfahren Sie in diesem Vortrag.
SharePoint und Silverlight // Jörg Krause
Der Vortrag zeigt wie Silverlight in SharePoint-Webparts eingesetzt werden kann, um ein besonders leistungsfähiges UI zu entwickeln. Schwerpunkt bilden interaktive Anwendungen basierend auf Webservices, sodass sich komplexere Miniapplikationen in Webparts verpacken lassen.
Responsive UIs - Grundlagen // Bernd Marquardt
Fast jede Anwendung enthält ein User Interface und dieses läuft – normalerweise – in einem einzigen Thread. Wenn also zu viel Logik in den Eventhandlern implementiert wird, reagiert das UI nicht mehr auf die Aktionen des Anwenders. Aber hier kann Abhilfe geschaffen werden. Diese Session stellt verschiedene Möglichkeiten vor, wie das UI von der Logik „entkoppelt“ werden kann, so dass Berechnungen im Hintergrund ausgeführt werden und den Anwender bei seiner Arbeit nicht stören. In dieser Session führt Bernd Marquardt in die Grundlagen der dabei hilfreichen Technologien wie Threads, ThreadPool und asynchronen Delegaten ein.
Task Parallel Library // Bernd Marquardt
Benutzeroberflächen, die auch bei längeren Hintergrundarbeiten reaktionsfähig bleiben, sind schon mit einfachen Mittel realisierbar. Aber warum dabei stehenbleiben? Wer auf den Geschmack asynchroner Benutzerinteraktion gekommen ist, möchte auch Wissen, wie sich das bewährte Databinding in dieses Bild fügt oder welche Vorteile eine neue Technologie wie die Task Parallel Library bietet. Mit dieser Session vertieft Bernd Marquardt das Thema seiner Session des ersten prio-Tages in Bezug auf WPF.
Technology Shoot-Out: WinForms vs. WPF vs. Silverlight // Jörg Neumann
Die Fülle heutiger UI-Technologien macht die Auswahl nicht ganz leicht. Soll die Anwendung auf dem Desktop oder im Browser laufen? Brauche ich Multimedia-Features? Welche Auswirkungen hat das auf die Produktivität? Ist Windows Forms wirklich tot? Dies sind nur einige Fragen die sich bei der Technologieauswahl stellen. Jörg Neumann stellt die wichtigsten Auswahlkriterien zur Entscheidungsfindung vor und lässt WinForms, WPF und Silverlight in verschiedenen Disziplinen gegeneinander antreten.
Multi-Touch entwicklung mit WPF für Microsoft Surface und Windows 7 // Gregor Biswanger
Microsoft bringt frischen Wind mit der WPF. Nun folgt mit Surface und Windows 7 eine neue möglichkeit der Bedienung von Oberflächen. Multi-Touch! Obgleich wieviele Finger gleichzeitig den Bildschirm berühren und bewegen, es wird dennoch parallel verarbeitet und beschaft somit dem Anwender ein neues Gefühl der bedienbarkeit. Die Software wird Spürbar! Leider gibt es derzeit nur wenige Monitore die Multi-Touch unterstützen. Die Preise dafür sind emenz Hoch! Das gleiche gilt auch für den 10.000 $ Tisch Surface. Damit wäre die entwicklung für solche Geräte derzeit undenkbar. Doch der Vortrag zeigt bereits jetzt, wie Softwareprojekte Hardwareunabhängig mit Multi-Touch entwickelt und getestet werden können. Worauf es beim Look & Fell zu achten gibt und vorallem was bei der Architekturplanung zu beachten ist.