Modulare und flexible Entwicklung grafischer Benutzeroberflächen

Größe: px
Ab Seite anzeigen:

Download "Modulare und flexible Entwicklung grafischer Benutzeroberflächen"

Transkript

1 Modulare und flexible Entwicklung grafischer Benutzeroberflächen Sebastian Damm Fachhochschule Aachen Fachbereich Elektrotechnik und Informationstechnik Eupener Straße 70, Aachen Abstract. Die vorliegende Ausarbeitung beschäftigt sich mit der modularen und flexiblen Entwicklung grafischer Benutzeroberflächen. Die Vielfalt an Plattformen, auf denen heutzutage Software zu finden ist, erschwert zunehmend die Softwareentwicklung. Dem soll mittels abstrakter Beschreibungssprachen Abhilfe geschaffen werden, indem die Art der Interaktion ohne Kenntnis über die spätere Implementierung und Zielplattform beschrieben wird. So sollen sich Oberflächen unabhängig von ihrer Zielplattform designen lassen. 1 Einleitung Seit es grafische Benutzeroberflächen (engl. Graphical User Interfaces, kurz: GUIs) gibt, ist deren Gestaltung ein zentraler Aspekt in der Entwicklung von Software. In den Anfängen der GUIs war es noch recht einfach, diese zu designen, da nur einzelne Plattformen (bezüglich Betriebssystemen und Hardwarebauformen) existierten. In den letzten Jahren entstand und entsteht immer noch eine stetig wachsende Zahl von Rechen- und Betriebssystemen sowie insbesondere neuer Geräteklassen. Mit der voranschreitenden Entwicklung fügten sich Mobiltelefone, persönliche digitale Assistenten (PDAs), Smartphones und Tablet PCs als Zielplattformen hinzu (siehe Abbildung 1). Auch Embedded Systeme wie PCs im Auto sind durch ihre abweichenden Displaygrößen und Eingabemöglichkeiten wie z.b. (Multi-)touch als neu anzusehen ([vgl. 2]). Dies hat dazu geführt, dass die Entwicklung von Software zu einem immer komplexeren Prozess wird. Dem Benutzer muss es möglich sein, nahtlos zwischen verschiedenen Geräten zu wechseln und dabei dennoch die gleichen Informationen und Dienste unabhängig von der gewählten Plattform konsumieren zu können (vgl. [5,6]). Die Herausforderung auf Seite der Entwickler besteht darin, ein und dieselbe Applikation in verschiedenen Versionen für unterschiedliche Geräte bereitzustellen. Soll eine Software multiplattformfähig sein, muss dafür gesorgt werden, dass Benutzerschnittstellen auf allen Zielplattformen über eine angemessene Darstellung verfügen. Es ist dabei wichtig, Bildschirmgrößen bzw. Auflösungen hinreichend zu

2 beachten, Farbschemata dem Kontext anzupassen, adäquate Eingabemethoden zu wählen und die gesamte Interaktion auf das genutzte Endgerät optimiert auszurichten. Bei Interaktion müssen nicht nur konkrete Objekte wie Steuerelemente, sondern auch abstrakte Dinge wie der Nutzungskontext betrachtet werden (vgl. [3]). Diese haben eminenten Einfluss darauf, wie eine Benutzeroberfläche zu gestalten ist. Aus der Darstellung einer Software folgen auch unmittelbar Aspekte der Benutzbarkeit (engl. Usability). So spielt zum Beispiel die Erwartungskonformität dabei eine große Rolle (vgl. [4]). Eine Applikation sollte für den Nutzer möglichst intuitiv und nah an dem sein, was er von seiner gewählten Plattform gewohnt ist, wie zum Beispiel native Apps für Apples IOS oder Googles Android, für die es Designrichtlinien und best Practices gibt, deren Einhaltung zu einer homogenen Landschaft an Apps (innerhalb der jeweilige Plattform) führt. Dem Nutzer wird ein hoher Wiedererkennungswert geboten, so dass er sich intuitiv in einer neuen App und deren Bedienkonzept zurechtfindet. Die Konzentration auf eine Zielplattform erweist sich als wenig praktikabel, da nur Teile des Marktes durchdrungen und andere außer Acht gelassen werden. Die individuelle Entwicklung diverser GUIs für die einzelnen Plattformen ist jedoch zeitaufwendig und kostspielig. Es ist von daher erstrebenswert, Oberflächen auf einer abstrakten Ebene zu beschreiben und aus einer solchen Metasprache möglichst einfach in konkrete Oberflächen zu überführen. Natürliche Sprache ist dafür wenig geeignet, da sie vielseitig interpretierbar, lang und ungenau ist. Bei der Nutzung von abstrakten Beschreibungssprachen kommt es darauf an, die Nutzerschnittstellen zu beschreiben ohne eine konkrete Implementierung vorzugeben. Um dies umzusetzen, muss der Code, der die Oberflächen beschreibt möglichst gut von der Applikationslogik getrennt werden (vgl. [1,7,5]). Bei Geräten, die keine Touchinteraktion bieten, macht eine Gestensteuerung wie zum Beispiel Pinch-to-Zoom keinen Sinn. Hingegen könnte ein dedizierter Hardwarebutton dafür existieren, der die Aktion ausführt. Was also in diesem Falle beschrieben werden muss, ist die abstrakte Aktion des Zoomens und nicht deren konkrete Umsetzung. So können auch neue, bisher noch nicht vorhandene/entwickelte Eingabemethoden abgedeckt werden, die in zukünftigen Systemen existieren könnten. Abbildung 1. Auswahl verfügbarer Rechensysteme (Quelle: [12])

3 2 Technologien In diesem Abschnitt werden Ansätze aus der Praxis vorgestellt, welche die in der Einleitung aufgezeigte Problematik angehen und zu lösen versuchen. Bei allen vorgestellten Sprachen handelt es sich um User Interface Definition Languages (UIDLs), welche im XML Format repräsentiert werden. Sie sind maschinenlesbar und dadurch besonders gut zur automatisierten Transformation geeignet. 2.1 UIML Die User Interface Markup Language (kurz: UIML) wurde 1997 in ihrer ersten Version von Abrams et al [1] propagiert. Sie befindet sich immer noch in der Entwicklung und zum Entstehungszeitpunkt dieser Arbeit liegt ihr aktuellster Entwurf in Version 4 als offener Standard der OASIS 1 vor [9]. Mit Hilfe der UIML können Designer die Benutzeroberfläche zunächst abstrakt beschreiben, um sie mittels einer so genannten Style Description auf verschiedene Betriebssysteme, Programmiersprachen und Geräte abzubilden. Dazu muss für jedes Zielsystem ein Renderer (für.net zum Beispiel [10]) existieren, der die abstrakte Beschreibung in eine konkrete transformiert. Der strukturelle Aufbau eines UIML Dokumentes ist dabei wie folgt: <?xml version="1.0"?> <!DOCTYPE uiml PUBLIC "-//OASIS//DTD UIML 4.0 Draft//EN" "http://uiml.org/dtds/uiml4_0a.dtd"> <uiml xmlns='http://uiml.org/dtds/uiml4_0a.dtd'> <head>...</head> <template>...</template> <interface> <structure> <part>...</part> </structure> <style>...</style> <layout>...</layout> <content>...</content> <behavior>...</behavior> </interface> <peers> <presentation>...</presentation> <logic>...</logic> </peers> </uiml> 1 Organization for the Advancement of Structured Information Standards

4 Nach dem XML-Prolog folgt das Root-Element, welches alle anderen Elemente einbettet. In <head> können Metainformationen zum Modell, wie z.b. Author, Erstellungsdatum etc. angegeben werden. Der Tag <template> dient der Wiederverwendung von Elementen, die bereits beschrieben wurden. Das <interface> Element beschreibt (abstrakt) die Benutzeroberfläche. Es wird gegliedert in <structure> für die Struktur der Oberfläche, welche sich wiederum aus einzelnen <part> Elementen zusammensetzt. Die <style> Tags geben den einzelnen Parts bzw. ganzen Klassen/Familien davon verschiedene Eigenschaften und Werte vor, um diese später auf einem Gerät rendern zu können. Dabei wird für jedes Gerät bzw. jede Zielplattform ein neues, spezifisches Stylesheet angelegt. Der <layout> Tag beschreibt abstrakt, wie einzelne Elemente zu einander und im Gesamtkontext positioniert werden (z.b. zentriert, links von, o.ä.) bzw. in welcher Reihenfolge sie auftreten (z.b. bei Sprachinteraktion). Im Bereich <content> können Inhalte hinterlegt werden, wie zum Beispiel strings für Mehrsprachigkeit. Für jede Sprache würde ein eigener (benannter) Content Bereich angelegt werden, in dem die jeweiligen Werte hinterlegt sind (z.b. ja/nein und yes/no ). Die letzte große Untereinheit von <interface> ist <behavior>. Hier werden Regeln festgelegt, welche Aktionen bei Eintritt eines Ereignisses ausgelöst werden sollen. Die Verbindung zur Applikationslogik und einem spezifischen Renderer wird in <peers> hergestellt. Dabei wird zwischen Präsentation und Logik unterschieden. Im <presentation> Element wird die Verbindung zwischen den einzelnen abstrakten <part> und <behavior> (bzw. genauer deren <event>) Klassen sowie ihren Namen und einem konkreten Toolkit einer Programmiersprache in einer Art Wörterbuch erstellt. Diese Vokabulare stehen Teilweise bereits vorgefertigt zur Verfügung und können wie folgt eingebunden werden (am Beispiel von Java AWT 1.3): <presentation base="javaawt_1.3_harmonia_1.0"/> In <logic> werden schließlich die Klassen/Methoden von UIML mit denen der externen Applikationslogik verbunden. Diese kann z.b. bei 3 Schichten Architekturen in einer Middleware vorliegen, in Skripten einer Skriptsprache oder direkten Aufrufen von Objektmethoden.

5 2.2 UsiXML Bei der User Interface extensible Markup Language (kurz: UsiXML [8]) handelt es sich ebenfalls um eine XML-basierte Sprache. Der Ansatz ist jedoch eher an eine modellgetriebene Architektur (englisch: Model Driven Architecture, kurz: MDA) angelehnt. Dabei werden Modelle unterschiedlichen Abstraktionsgrades genutzt und durch Transformationen abstrahiert bzw. konkretisiert. Außerdem können Artefakte auf gleicher Abstraktionsebene mittels Translation auf einen anderen Nutzungskontext abgebildet werden. Man stützt sich dabei auf das Cameleon Reference Framework [12] in einer vereinfachten Version: Abbildung 2. Cameleon Reference Framework (Quelle: [8]) Tasks und Concepts beschreiben Aufgaben die der Benutzer durchführen kann und domänenspezifische Objekte die dafür benötigt werden. Durch Reifikation wird daraus ein Abstract UI erzeugt. Eine solche abstrakte Oberfläche ist unabhängig von ihrem Nutzungskontext und gruppiert (Sub-)Tasks nach vorgegebenen Kriterien, legt den Kontrollfluss fest und wählt abstrakte Interaktionsobjekte (AOIs) aus. Durch weitere Konkretisierung erhält man aus dem Abstract UI ein Concrete UI. Diese zieht nun auch den Nutzungskontext in Betracht, ist jedoch weiterhin unabhängig von der Plattform. Es werden Steuerelemente bzw. deren Typen (Concrete Interaction Objects, kurz: COIs) festgelegt und es entsteht ein genaues Bild der finalen Oberfläche, ohne jedoch die Plattform festzulegen. Schließlich gibt es das Final UI, welches der endgültigen Oberfläche entspricht, so wie sie auf einer konkreten Plattform läuft. Es gibt dabei die Möglichkeit der Interpretation (z.b. durch einen Browser) oder der direkten Ausführung (nach Kompilierung).

6 Zwischen allen benachbarten Modellen kann statt der Reifikation auch eine Abstraktion durchgeführt werden um aus einer konkreteren Darstellung zu einer Allgemeineren zu gelangen (vgl. [8]). In Abbildung 3 sind die Transformationen zwischen den Modellen beispielhaft für den Download einer Datei dargestellt. Abbildung 3. Beispiel der Transformationen (Quelle: [8]) Wie in Abbildung 3 erkennbar, lassen sich die vier Abstraktionslevel jeweils in zwei Sublevel unterteilen. Das FUI ist auf unterster Ebene das Rendering, welches durch Code ausgedrückt wird. Im CUI werden konkrete Interface Objekte dargestellt, sowie genereller deren Typen. Abstrakte Interface Objekte lassen sich beispielsweise konkretisieren zu Soft- und Hardware AIOs. Auf höchster Ebene werden die Aufgaben und die dazugehörigen Objekte dargestellt. An obigem Beispiel lässt sich außerdem gut erkennen, dass man ein Final UI in ein anderes überführen kann, indem man zunächst z.b. vom konkreten HTML Button abstrahiert bis hin zum Control AIO um anschließend zu einem Function Key zu reifizieren, um so eine Umsetzung auf einer anderen Plattform anzugehen. 2.3 XIML Die letzte betrachtete Beschreibungssprache ist die extensible Interface Markup Language (kurz: XIML [3]). Auch sie versucht, Interaktion möglichst allgemein und abstrakt zu repräsentieren. Die erste Version nutzt dazu 5 Grundkomponenten, von denen 3 der Abstrakten Beschreibung und 2 der konkreten Implementierung dienen. Der Task beschreibt einen Business-Prozess oder einen User-Task, den Fluss zwischen diesen, sowie zugehörige Attribute. Dabei werden jedoch nur die Aufgaben betrachtet, die Benutzerinteraktionen benötigen. Beispiele für solche Aufgaben könnten zum Beispiel Karte ansehen oder Datum eingeben sein. Die Domain enthält Datenobjekte und Klassen von Objekten in hierarchischer Struktur, ähnlich einer Ontologie. Sie werden als paare von Attributen und Werten

7 definiert. Relevant sind auch hier nur solche Objekte, die vom Nutzer angesehen oder bearbeitet werden. Die User Komponente ist ebenfalls als Hierarchie strukturiert und enthält Nutzer in Form eines Baumes. Ein Nutzer kann dabei eine einzelner Benutzer oder eine Benutzergruppe sein. Paare von Attributen und Werten charakterisieren die Benutzer, allerdings wird dabei nicht auf geistige Fähigkeiten eingegangen, sondern nur auf für das Design relevante Dinge. Die Presentation enthält Interaktionselemente, also konkrete Elemente, mit denen der Nutzer interagiert, wie zum Beispiel ein Fenster, ein Button oder komplexere Steuerelemente. Allerdings sollte auch hier nach Möglichkeit eine abstrakte Form gewählt werden, um das Rendering komplett dem Zielsystem überlassen zu können. Zuletzt gibt es noch den Dialog, welcher eine Sammlung von Aktionen beschreibt, die dem Nutzer zur Verfügung stehen. Beispiele dafür sind Klick, Geste oder Sprachausgabe. Außerdem beinhaltet der Dialog den Navigationsfluss. Insgesamt ähnelt der Dialog sehr dem Task, ist allerdings im Gegensatz zu diesem nicht abstrakt sondern konkret. Neben den Komponenten existieren in XIML Relationen (Relations) zwischen diesen. Dabei können Relationen zwischen zwei oder mehr Elementen vorkommen und innerhalb einer Komponente, oder zwischen verschiedenen Komponenten vorliegen. Ein Beispiel ist: Datentyp A wird durch Präsentationselement B oder Präsentationselement C dargestellt. (vgl. [3]) Das letzte Konstrukt sind die Attribute (Attributes), welche Merkmale bzw. Eigenschaften von Elementen darstellen. Sie liegen als Key-Value Paare vor. Die Entwicklung für mehrere Zielplattformen wird durch die strikte Trennung von Definition eines Interfaces und seinem Rendering erreicht. Das Rendering ist Plattformspezifisch und wird direkt auf dieser ausgeführt. Neben der Möglichkeit, für jede Plattform einen eigenen Presentation-Abschnitt im XIML Dokument einzufügen, kann man eine Abstraktere Beschreibung wählen und über vordefinierte Relationen automatisch in passende Elemente der Zielplattform zu überführen. Beispielsweise könnte ein Element die aktuelle Position sein. In XIML würde dann Ort als Presentation-Element angelegt und mittels Relationen auf konkrete Darstellungen abgebildet, auf einem PC eine Karte, auf einem Mobiltelefon nur ein Text. (vgl. [3]) Grundsätzlich ist XIML nicht auf die oben angeführten Sprachelemente begrenzt, sondern offen und beliebig erweiterbar. Die Urheber glauben jedoch, dass die Sprache auch ohne Erweiterungen eine ausreichende Mächtigkeit besitzt, beliebige GUIs beschreiben zu können.

8 Eine weitere von XIML gebotene Möglichkeit ist, GUIs laufzeitdynamisch zu gestalten. Abbildung 4 zeigt ein Beispiel, in dem die Darstellung je nach verfügbarem Displaybereich mehr oder weniger Details angezeigt werden, indem die XIML Spezifikation gelesen und die Presentation-Komponente zur Laufzeit ausgetauscht wird: Abbildung 4. Dynamischer Wechsel der Darstellung (Quelle: [3]) Auf die gleiche Weise könnte auch eine Personalisierung vorgenommen werden, indem jedem User eine Presentation zugeordnet wird, welche seine Präferenzen widerspiegelt. 3 Bewertung und Vergleich Im Folgenden werden eine Bewertung und ein Vergleich der vorgestellten Sprachen zur Beschreibung von grafischen Benutzeroberflächen vorgenommen. Zunächst werden die Formate separat betrachtet und einander abschließend in tabellarischer Form gegenübergestellt. 3.1 UIML Die UIML ist der wohl älteste Ansatz für eine allgemeine, abstrakte Beschreibungssprache für grafische Benutzeroberflächen. Mittlerweile liegt sie in Version 4 vor, welche allerdings auf November 2008 datiert ist. Auch mit Informationen bezüglich der Weiterentwicklung ist die Oasis Gruppe sehr sparsam, was daran zweifeln lässt, ob der Ansatz überhaupt noch weiter verfolgt wird, zumal auch die Webseite uiml.org über den Zeitraum der Erstellung dieser Arbeit nicht erreichbar war. Die Softwareunterstützung für UIML existiert in Form diverser Renderer für unterschiedlichste Plattformen wie Java Swing,.NET, Android, Python, Flash, etc. Auch Toolkits zum Erstellen der UIML stehen für unterschiedliche Programmiersprachen

9 zur Verfügung, was jedoch direkt zu einem der größten Mankos an UIML führt, denn die Sprache ist plattformspezifischer, als wünschenswert wäre. 3.2 UsiXML UsiXML und der modellgetriebene Ansatz ist sehr flexibel, da von jeder konkreten oder abstrakten Ebene des Cameleon Frameworks aus in die Entwicklung eingestiegen werden kann. Vorhandene finale Oberflächen lassen sich generalisieren, abstrakte Oberflächendefinitionen können konkretisiert werden, oder eine vorhandene Oberfläche auf eine neue Plattform überführt werden. Die Arbeit an UsiXML wird bis zum jetzigen Zeitpunkt fortgeführt, und die Sprache wurde im Februar 2012 zur Standardisierung durch das W3C 2 eingereicht. Unterstützende Software gibt es auf unterschiedlichen Ebenen. So existiert ein Tool, namens ReversiXML, mit dem sich eine vorhandene Oberfläche einer HTML Webseite in ein Concrete UI oder Abstract UI in UsiXML überführen lässt. Neben der Möglichkeit, UsiXML mit einem XML Editor in Textform zu schreiben, gibt es einen Editor, mit dem sich Oberflächen zeichnen und Concrete Interface Objects platzieren und mit Eigenschaften versehen lassen können. Das Ergebnis wird automatisch in eine UsiXML Spezifikation umgesetzt. Auch Model-to-Model Transformationen sind möglich. 3.3 XIML XIML ist im Gegensatz zu den beiden anderen betrachteten Sprachen vollständig erweiterbar, was sie wiederum nahezu unbegrenzt ausdrucksstark macht. Ob die Arbeit an XIML zurzeit fortgeführt wird, ist schwer zu sagen, da die Webseite, ebenso wie die Oasis Seite zu UIML keine Informationen darüber preisgibt. Zum aktuellen Zeitpunkt existieren für XIML keine frei verfügbaren Werkzeuge zur Modellierung, es wird lediglich ein Validator für XIML Dokumente freigegeben und ansonsten auf XML-Editoren verwiesen. Renderer für verschiedene Sprachen müssen noch entwickelt werden. Die Roadmap des XIML Konsortiums sieht im späteren Verlauf vor, die Sprache standardisieren zu lassen, ob es jedoch so weit kommt, ist ob eines Mangels an aktuellen bzw. neuen Veröffentlichungen zu dem Thema fraglich. Ein weiterer Nachteil an XIML ist, dass jeder Nutzer von XIML kompatibler Software eine Lizenz benötigt. Diese ist zwar kostenlos erhältlich, jedoch muss man sich auf der Webseite des XIML Konsortiums dafür registrieren. 2 World Wide Web Consortium

10 3.4 Vergleich und Übersicht Dieser Abschnitt soll noch einmal die Betrachtungen gegenüberstellen. Dabei wird die Ausdrucksstärke der Sprache betrachtet, also wie gut sich Sachverhalte mit der Sprache modellieren lassen. Wichtig ist auch die Aktualität der Sprache, da es gerade in den letzten Jahren einen rasanten Wandel im Bereich der Geräte und auch Betriebssysteme gegeben hat. Zur Aktualität zählen Veröffentlichungen, die sich mit der jeweiligen Sprache auseinandersetzen und die Pflege der offiziellen Webseiten, da diese aufzeigt, ob der Ansatz noch weiter verfolgt wird. Eine gute Unterstützung durch Tools ist wichtig, um die Sprachen in der Praxis einsetzen zu können. Ohne Tools ist nur ein theoretischer Ansatz vorhanden, der weitere Entwicklung benötigt, um überhaupt umsetzbar zu sein. Die Erweiterbarkeit spielt in so fern eine Rolle, als das dies wichtig für zukünftig neu entwickelte Plattformen ist. Auch diese sollten idealerweise von einer Beschreibungssprache unterstützt werden können. Zuletzt ist noch interessant, ob die Sprachen vollkommen frei eingesetzt werden können, oder ob eine Lizensierung nötig ist. Folgende Tabelle stellt die betrachteten Sprachen noch ein Mal vergleichend dar: Tabelle 1. Ausdrucksstärke Aktualität Toolunterstüz Erwei- Lizenz ung terbarkeit UIML nicht benötigt UsiXML nicht benötigt XIML kostenlos erhältlich auf [11] 4 Zusammenfassung und Ausblick In der vorliegenden Arbeit wurden zunächst die sich aus der zunehmenden Gerätevielfalt ergebenden Probleme für die Softwareentwicklung dargelegt. Es wurde darauf eingegangen, dass plattformübergreifend konsistente Oberflächen für den Nutzer geschaffen werden müssen, ohne dabei jedoch teure Individualentwicklung für jedes einzelne Gerät vorzunehmen. Anschließend wurden zunächst drei ausgewählte Technologien vorgestellt, die sich mittels abstrakter XML-basierter Beschreibungssprachen der Problematik annähern und Ansätze zu deren Lösung bieten. Anschließend wurden diese Technologien Bewertet und vergleichend gegenübergestellt. Alle drei Sprachen befinden sich weiter-

11 hin in der Entwicklung und Evaluation durch Anwender beziehungsweise auf dem Weg zu einer Standardisierung. Die Relevanz des vorgestellten Themas lässt sich auch dadurch erahnen, dass neben der vorgestellten Auswahl eine stetig wachsende Anzahl weiterer Beschreibungssprachen existiert, von denen sich in der Praxis bisher jedoch noch keine wirklich durchsetzen konnte. Aus der Vielzahl an Entwicklungen die bisher existieren, lässt sich jedoch schließen, dass ein hoher Bedarf besteht, die Softwareentwicklung bzw. Methoden im Bereich Multiplattform weiter voranzutreiben. Es stellt sich die Frage, ob es Grundsätzlich möglich ist, eine solche abstrakte und plattformunabhängige Sprache überhaupt so zu entwickeln, dass sie in der Praxis so einsetzbar ist, von automatischen Transformationen profitieren zu können. Unabhängig davon, ob eine solche Transformation möglich ist, wird die Entwicklung von Interaktionspattern und abstrakten Beschreibungssprachen für diese Pattern auch weiter ein wichtiges Forschungsziel in der Informatik bleiben dem es nachzugehen gilt. Literatur 1. Abrams M, Phanouriou C, Batongbacal AL et al. (1999) UIML: an applianceindependent XML user interface language. Computer Networks 31(11-16): Geisler S, Heers R, Wolter S (2012) Analyse von Modellierungssprachen für Infotainmentsysteme. In: Reiterer H, Deussen O (eds) Mensch & Computer 2012 Workshopband. Oldenbourg Verlag, München, pp Hammond K, Gil Y, Leake D et al. (2002) XIML. In: Proceedings of the 7th international conference on Intelligent user interfaces - IUI '02. ACM Press, p Marucci L, Paternò F (2002) Supporting Adaptivity to Heterogeneous Platforms through User Models. In: Paternò F (ed) Human Computer Interaction with Mobile Devices, vol Springer Berlin / Heidelberg, pp Paternò F, Santoro C (1999) One Model, Many Interfaces. In: Proc. ACM 4th International Conference on Intelligent User Interfaces. ACM Press, pp Seffah A, Forbrig P, Javahery H (2004) Multi-devices Multiple user interfaces: development models and research opportunities. Journal of Systems and Software 73(2): Souchon N, Vanderdonckt J (2003) A review of XML-compliant user interface description languages. Lecture notes in computer science 2844:

12 8. Vanderdonckt J, Limbourg Q, Michotte B et al. (2004) UsiXML: a User Interface Description Language for Specifying Multimodal User Interfaces. In: Proceedings of W3C Workshop on Multimodal Interaction WMI 2004, Sophia Antipolis, pp OASIS https://www.oasis-open.org/committees/download.php/28457/uiml-4.0- cd01.pdf 10. Luyten K, Coninx K (2005) UIML.Net: an Open UIML Renderer for the.net Framework. In: Jacob RJ, Limbourg Q, Vanderdonckt J (eds) Computer-Aided Design of User Interfaces IV. Springer-Verlag, Berlin/Heidelberg, pp XIML 12. Calvary G, Coutaz J, Thevenin D et al. (2003) A Unifying Reference Framework for multi-target user interfaces. Interacting with Computers 15(3):

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

Mehr

User Interface Design und Icon Library

User Interface Design und Icon Library Clemens Grossmann - TouchingCode GmbH User Interface Design und Icon Library www.apmato.com Auftraggeber TouchingCode GmbH Wir sind spezialisiert auf die Entwicklung von Smartphone Apps und die dazugehörigen

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Graphischer Editor für die technologieunabhängige User Interface Modellierung Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige

Mehr

XML Grundlagen Sommersemester 2013

XML Grundlagen Sommersemester 2013 XML Grundlagen Sommersemester 2013 Die Lehrveranstaltung wird studienbegleitend durch eine Hausarbeit und eine Präsentation mit Diskussion geprüft. Die Themen der folgenden Liste werden im Rahmen der Lehrveranstaltung

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Stefan Link, Thomas Schuster, Philip Hoyer, Sebastian Abeck Institut für Telematik, Fakultät für Informatik Universität Karlsruhe (TH)

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung von mobilen Anwendungen WS 2014/15 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter:, Daniel Strüber, Steffen Vaupel Kontakt:

Mehr

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket

Mehr

OMICRON App zur Steuerung eines Messgeräts

OMICRON App zur Steuerung eines Messgeräts Mobile Lösungen im industriellen Umfeld jetzt die Chancen nutzen! Die Benutzerführung auf Tablets und Smartphones hat die Gestaltung von Bedienoberflächen revolutioniert. Interaktionskonzepte wie Multitouch

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Wieviel Usability Engineering braucht das Software Engineering?

Wieviel Usability Engineering braucht das Software Engineering? Wieviel Usability Engineering braucht das Software Engineering? Prof. Dr. Institut für Informatik Neuenheimer Feld 348 69120 Heidelberg http://www-swe.uni-heidelberg.de paech@informatik.uni-heidelberg.de

Mehr

Mobile Kartenanwendungen im Web oder als App?

Mobile Kartenanwendungen im Web oder als App? Mobile Kartenanwendungen im Web oder als App? Agenda Anforderungen an eine mobile Kartenanwendung Warum mobile Anwendungen? Mobil ist nicht genug! Knackpunkte bei der Entwicklung mobiler Kartenanwendungen

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München

Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München Landing Pages sind Ihre Kampagnenheimat 1 Kampagne Fokus Aktion, Produkt oder Dienstleistung

Mehr

GITK - Generalized Interface ToolKit

GITK - Generalized Interface ToolKit GITK - Generalized Interface ToolKit Dynamically generated multi-modal application interfaces Dipl. Inf. Stefan Kost Betreuer der Arbeit: Prof. Dr. Wolfgang Wünschmann TU DresdenFB Informatik, Institut

Mehr

Responsive Design & ecommerce

Responsive Design & ecommerce Responsive Design & ecommerce Kassel, 15.02.2014 web n sale GmbH Jan Philipp Peter Was bisher geschah Was bisher geschah oder: Die mobile Evolution früher : - Lokale Nutzung - Zuhause oder im Büro - Wenige

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

UI Design Patterns. Kapitel: 8. Konzeption Style Guides UI Design Patterns Genres

UI Design Patterns. Kapitel: 8. Konzeption Style Guides UI Design Patterns Genres UI Design Patterns 19 Entwurfsmuster (Design Patterns) Konzept geht zurück auf den Architekten Christopher Alexander (Notes on the synthesis of form, 1964) Systematische Sammlung wiederkehrende Muster

Mehr

CloudMatic V1.0. Inhalt

CloudMatic V1.0. Inhalt CloudMatic V1.0 Inhalt Einleitung... 2 CCUs hinzufügen... 3 meine-homematic.de... 4 Eigenes VPN... 4 View Editor... 5 Übersicht... 5 Allgemeine Einstellungen... 6 Kanäle hinzufügen... 6 Spezielle Kanäle...

Mehr

PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS

PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS DIPL.-WIRT.INFORM. HENNING HEITKÖTTER PRAKTISCHE INFORMATIK, UNIVERSITÄT MÜNSTER 1 GEGENÜBERSTELLUNG NATIVE VS. PLATTFORMÜBERGREIFENDE ENTWICKLUNG 2 ENTWICKLUNGSANSÄTZE

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

Webdesign Grundlagen. Michael Kraft, M.A. WS 2012/2013 hawk@herrkraft.de

Webdesign Grundlagen. Michael Kraft, M.A. WS 2012/2013 hawk@herrkraft.de Webdesign Grundlagen Michael Kraft, M.A. WS 2012/2013 hawk@herrkraft.de Bürokratie Termine & Kursliste & http://hawk.herrkraft.de Wer bin ich? michael kraft ba ma 2006 2012 hawk tutor interaction digital

Mehr

Plattformen mobiler Endgeräte Windows Phone, ios, Android

Plattformen mobiler Endgeräte Windows Phone, ios, Android Plattformen mobiler Endgeräte Windows Phone, ios, Android 13.12.2012 Inhaltsverzeichnis 1. Einführung 2. Ecosystem Smartphone OS 3. Mobile Software Platform 4. Android App Entwicklung 5. Zusammenfassung

Mehr

TM1 mobile intelligence

TM1 mobile intelligence TM1 mobile intelligence TM1mobile ist eine hochportable, mobile Plattform State of the Art, realisiert als Mobile BI-Plug-In für IBM Cognos TM1 und konzipiert als Framework für die Realisierung anspruchsvoller

Mehr

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen Mit der aktuellen Version hält eine komplett neu konzipierte webbasierte Anwendung Einzug, die sich neben innovativer Technik auch durch ein modernes Design und eine intuitive Bedienung auszeichnet. Angefangen

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Die nächste Revolution in der modelgetriebenen Entwicklung?

Die nächste Revolution in der modelgetriebenen Entwicklung? Die nächste Revolution in der modelgetriebenen Entwicklung? Me Johannes Kleiber Software Engineer bei FMC Johannes.Kleiber@fmc-ag.com Themen Überblick Window Workflow Foundation Workflows modellieren WF

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Eine App, viele Plattformen

Eine App, viele Plattformen Eine App, viele Plattformen Anwendungsentwicklung für Mobile Heiko Lewandowski 23.04.2013 EINLEITUNG Festlegung App-Strategie: Welche Ziele möchte ich erreichen? Die Vielzahl der Plattformen und Geräte(hersteller)

Mehr

Basistechnologien: Web-Services

Basistechnologien: Web-Services Alexander Rudolf Cloud-Computing Seminar Hochschule Mannheim WS0910 1/29 Basistechnologien: Web-Services Alexander Rudolf Hochschule Mannheim Fakultät für Informatik alexander.rudolf@stud.hs-mannheim.de

Mehr

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Wahlpflichtfach (2 SWS) für Bachelor Andreas Schmidt Einführung/Organisation 1/19 Ziele der Vorlesung Vorstellung

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Mobile Anwendungen im SAP-Umfeld

Mobile Anwendungen im SAP-Umfeld Erstes Symposium für neue IT in Leipzig 27. September 2013 Michael Rentzsch Informatik DV GmbH michael.rentzsch@informatik-dv.com +49.341.462586920 IT-Trend: Mobile Mobile might be one of the most interesting

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Ansätze der Entwicklung von Multiplattform-Anwendungen. M.Eng. Rafael Pisarczyk (FH Aachen)

Ansätze der Entwicklung von Multiplattform-Anwendungen. M.Eng. Rafael Pisarczyk (FH Aachen) Ansätze der Entwicklung von Multiplattform-Anwendungen M.Eng. Rafael Pisarczyk (FH Aachen) Viele Wege führen nach Rom oder zur eigenen App... (Foto v.o.n.u: Rainer Sturm / pixelio.de) 2 Nativer Entwicklungsansatz

Mehr

Was ist DITA und was bringt es? www.ditaworks.com

Was ist DITA und was bringt es? www.ditaworks.com www.ditaworks.com Wir leben im Informationszeitalter und sind einem exponentiellen Anstieg neuer Daten und Informationen ausgesetzt. Nach neusten Studien können wir davon ausgehen, dass 90% aller verfügbaren

Mehr

Migration und Anpassung von Benutzeroberflächen für Touchscreens

Migration und Anpassung von Benutzeroberflächen für Touchscreens Migration und Anpassung von Benutzeroberflächen für Touchscreens Christian Wimmer 1, Steffen Lohmann 1, Michael Raschke 1, Thomas Schlegel 2 Institut für Visualisierung und Interaktive Systeme, Universität

Mehr

INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs

INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs INFOnline SZM Mobile Applications INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs INFOnline GmbH Forum Bonn Nord Brühler Str. 9 53119 Bonn Tel.: +49 (0) 228 / 410 29-77 Fax: +49

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Sicherheit in Android

Sicherheit in Android Motivation Aufbau Sicherheit Ausblick Quellen Sicherheit in Android Peter Salchow INF-M2 - Anwendungen 1 Sommersemester 2008 Department Informatik HAW Hamburg 20. Mai 2008 Peter Salchow Sicherheit in Android

Mehr

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Andreas Lux 16.03.2010 Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Warum unterschiedliche Sprachen? Nicht alle Probleme eignen sich, um mit Standardsprachen beschrieben

Mehr

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner

Proseminar Website-Management-Systeme ZOPE/CMF. Andreas M. Weiner Proseminar Website-Management-Systeme ZOPE/CMF Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik Arbeitsgruppe Softwaretechnik Betreuer: Dipl. Inf. Christian Stenzel Überblick

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

DOK. ART GD1. Citrix Portal

DOK. ART GD1. Citrix Portal Status Vorname Name Funktion Erstellt: Datum DD-MMM-YYYY Unterschrift Handwritten signature or electronic signature (time (CET) and name) 1 Zweck Dieses Dokument beschreibt wie das auf einem beliebigem

Mehr

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

Rich Internet Applications Technologien. Leif Hartmann INF-M3 Anwendungen 2 - Wintersemester 2007/2008 08. Januar 2008

Rich Internet Applications Technologien. Leif Hartmann INF-M3 Anwendungen 2 - Wintersemester 2007/2008 08. Januar 2008 Rich Internet Applications Technologien Leif Hartmann INF-M3 Anwendungen 2 - Wintersemester 2007/2008 08. Januar 2008 Einleitung Inhalt Kategorisierung Technologien E c h o G o o g le W e b T o o lk it

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme Gerhard Wanner (wanner@hft-stuttgart.de) Stefan Stefan Siegl Siegl (s.siegl@novatec-gmbh.de) Agenda Model Driven Architecture (MDA) Einführung/Übersicht/Motivation

Mehr

Ohne Technik kein Online-Journalismus

Ohne Technik kein Online-Journalismus Ohne Technik kein Online-Journalismus von Frank Niebisch, Redakteur für Technologie- und Medien-Themen ECONOMY.ONE AG - Verlagsgruppe Handelsblatt Online. f.niebisch@t-online.de 0173/2934640 Bochum, 15.05.2002

Mehr

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der

Mehr

VDLUFA-Schriftenreihe 1

VDLUFA-Schriftenreihe 1 VDLUFA-Schriftenreihe 1 Wie viele Apps sind ein LIMS? J. Flekna Pragmatis GmbH, Neufahrn 1. Einleitung Seitdem mobile Endgeräte massentauglich sind, ist die Bezeichnung App fester Bestandteil unseres zeitgeistigen

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by Mobile Apps mit DSLs C1 und entfernter Codegenerierung Codierst Du noch oder generierst Du schon? Generative Software GmbH Freiburg Inhalt Plattformabhängige Entwicklung JavaScript Firefox OS Java Android

Mehr

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 STRATEGISCHE ZIELE Terminumfrage, Termine und Aufgaben in GEDYS IntraWare 8.web Unabhängig vom E Mail und Kalendersystem Termine auch für Kunden Ablösung der

Mehr

AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP

AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP 2 Inhalt Warum ist es sinnvoll eine spezielle Applikation für mobile Geräte zu entwickeln? Seite 5 Welche Möglichkeiten der Umsetzung gibt es? 6 Mobile Applikation

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011 Workshop I Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation 7. Juni 2011 Übersicht è Native Apps è Web-Apps è Mobile Websites è Responsive Design Mobile Kommunikation

Mehr

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Erfahrungen aus der industriellen Praxis Fraunhofer IESE Kaiserslautern Inhalt Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Mehr

WPF. Windows Presentation Foundation. Sven Hubert Student Partner Microsoft Academic Program

WPF. Windows Presentation Foundation. Sven Hubert Student Partner Microsoft Academic Program WPF Windows Presentation Foundation Sven Hubert Student Partner Microsoft Academic Program Sven.Hubert@studentprogram.de 27. Nov. 2006 Agenda WPF ein Überblick WPF mit Visual Studio (Demos) WPF mit Microsoft

Mehr

App-Entwicklung mit Titanium

App-Entwicklung mit Titanium Masterstudienarbeit Betreuung Prof. Dr. M. von Schwerin 1 Gliederung 1.Motivation 2.Aufgabenstellung 3.Projektbeschreibung 4.Projektstatusbericht 5.Fazit und Ausblick 2 1.Motivation Verbreitung von Smartphones

Mehr

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Volker Linz Oracle Deutschland B.V. & Co. KG Empfehlungen für erfolgreiche ADF-Projekte Architektur & Design Team & Skills Organisation & Entwicklungsprozess

Mehr

Multimediale Werkzeuge. Textformate, Medienobjekte

Multimediale Werkzeuge. Textformate, Medienobjekte Multimediale Werkzeuge Textformate, Medienobjekte Geschichte/ Eigenschaften von Textformaten Gebräuchliche Textformate, z.b. für HTML Files, Programme: ASCII (American Standard Code for Inform. Interchange)

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

Visual Web Developer Express Jam Sessions

Visual Web Developer Express Jam Sessions Visual Web Developer Express Jam Sessions Teil 1 Die Visual Web Developer Express Jam Sessions sind eine Reihe von Videotutorials, die Ihnen einen grundlegenden Überblick über Visual Web Developer Express,

Mehr

Ein wichtiges Konzept der Software-Architektur

Ein wichtiges Konzept der Software-Architektur Ein wichtiges Konzept der Software-Architektur Dr. Peer Kröger, Arthur Zimek Ludwig-Maximilians-Universität München, Institut für Informatik, LFE Datenbanksysteme Programmierpraktikum Wintersemester 2007/08

Mehr

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Responsive Webdesign vertraut. Es wird

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine

Mehr

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011 Auffrischung jquery jquery Mobile Marco Francke I 24.02.2011 Mayflower GmbH 2010 write less do more Marco Francke 24. Februar 2011 24.02.11 Mayflower GmbH 2 Mayflower GmbH 2010 Was ist jquery und was kann

Mehr

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag SIEBEL OPEN UI Rhein-Main-Handel GmbH Standort: Düsseldorf Bankhaus Goldbaum GmbH & Co. KG ilum:e informatik ag Standort: Mainz Forschungszentrum Medizin Internationale Telecom AG Chemielabor GmbH Standort:

Mehr

Barrierefreies Internet VU Check Tools 1

Barrierefreies Internet VU Check Tools 1 Barrierefreies Internet VU Check Tools 1 Check-Tools und deren Verwendung Theorie und Praxis Barrierefreies Internet VU Check Tools 2 Allgemein Es gibt (bisher) kein Tool, das sicher und ohne menschliche

Mehr

Philosophie & Tätigkeiten. Geschäftsfelder. Software Engineering. Business Applikationen. Mobile Applikationen. Web Applikationen.

Philosophie & Tätigkeiten. Geschäftsfelder. Software Engineering. Business Applikationen. Mobile Applikationen. Web Applikationen. Philosophie & Tätigkeiten Wir sind ein Unternehmen, welches sich mit der Umsetzung kundenspezifischer Softwareprodukte und IT-Lösungen beschäftigt. Wir unterstützen unsere Kunde während des gesamten Projektprozesses,

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Bring Your Own Device in der Industrie

Bring Your Own Device in der Industrie Bring Your Own Device in der Industrie Geht das wirklich? 27.05.2014 Thomas Sorg BERNER & MATTNER Überblick BERNER & MATTNER Systemtechnik GmbH ASSYSTEM Founded: 1979 Employees: 450 Headquarters: Munich,

Mehr

Seminarthemen WS 14/15

Seminarthemen WS 14/15 Dr. Max Mustermann Referat Kommunikation & Marketing Verwaltung Seminarthemen WS 14/15 Präsentation Alexander Schiller, Lars Lewerenz, Dominik Schön Prof. Dr. Bernd Heinrich Lehrstuhl für Wirtschaftsinformatik

Mehr

Die ersten Schritte zur eigenen Homepage - Möglichkeiten der technischen Umsetzung

Die ersten Schritte zur eigenen Homepage - Möglichkeiten der technischen Umsetzung Die ersten Schritte zur eigenen Homepage - Möglichkeiten der technischen Umsetzung Bremen, den 16. September 2014 Uwe Salm, ebusiness Lotse Osnabrück Agenda Vorüberlegungen Umsetzung Handlungsempfehlung

Mehr

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 STRATEGISCHE ZIELE Terminumfrage, Termine und Aufgaben in GEDYS IntraWare 8.web Unabhängig vom E Mail und Kalendersystem Termine auch für Kunden Ablösung der

Mehr

Natürliche Benutzerschnittstellen. Dr. Werner Kurschl Werner.Kurschl@fh-hagenberg.at

Natürliche Benutzerschnittstellen. Dr. Werner Kurschl Werner.Kurschl@fh-hagenberg.at Natürliche Benutzerschnittstellen Dr. Werner Kurschl Werner.Kurschl@fh-hagenberg.at Evolution von Benutzerschnittstellen Graphische Bnutzeroberflächen (GUIs) - z.b. Mac OS System 1.0 (released im Jahr

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung

Mehr

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann App Entwicklung mit Hilfe von Phonegap Web Advanced II - SS 2012 Jennifer Beckmann http://www.focus.de/digital/internet/netzoekonomie-blog/smartphone-googles-android-laeuft-konkurrenz-in-deutschland-davon_aid_723544.html

Mehr

Das mobile Bordbuch MOB 4. Mobile Dokumentation / Mobile Documentation. Motivation. Ausgangsdaten. Anforderungen

Das mobile Bordbuch MOB 4. Mobile Dokumentation / Mobile Documentation. Motivation. Ausgangsdaten. Anforderungen MOB 4 Partnerpräsentation Das mobile Bordbuch Aleš Chyba, ŠKODA AUTO a.s., Mladá Boleslav, Tschechien Robert Erfle, DOSCO Document Systems Consulting GmbH, Heidelberg Motivation Smartphones und Tablet-Computer

Mehr

ArcGIS Online Werkstatt

ArcGIS Online Werkstatt ArcGIS Online Werkstatt Die Möglichkeiten mit ArcGIS Online for Organizations Christiane Radies und Gregor Radlmair Esri Deutschland GmbH 27. Juni 2013, Stuttgart Inhalte + Die ArcGIS Online Subskription

Mehr

Objektorientierte Softwareentwicklung SoSe 15

Objektorientierte Softwareentwicklung SoSe 15 Objektorientierte Softwareentwicklung SoSe 15 Heinz Faßbender Raum E148 Tel. 0241/6009 51913 Email: fassbender@fh-aachen.de www.fassbender.fh-aachen.de FH AACHEN UNIVERSITY OF APPLIED SCIENCES FACHBEREICH

Mehr

SMARTE WEB-TECHNOLOGIE FÜR HMIS DER GENERATION 4.0

SMARTE WEB-TECHNOLOGIE FÜR HMIS DER GENERATION 4.0 SMARTE WEB-TECHNOLOGIE FÜR HMIS DER GENERATION 4.0 PORTABEL INDIVIDUELL EFFIZIENT www.smart-hmi.de WebIQ Features List Das Framework WebIQ ist die ganzheitliche Lösung für die Erstellung von HMIs der Generation

Mehr

Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München

Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München Wir leben in einer Multi-Screen-Welt 40 Prozent der Deutschen sind im mobilen Internet

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr