Donnerstag, November 13, 2008

UNC307 Windows Workflows Activities that Talk and IM with OCS 2007 R2

Microsoft Office Communications Server 2007 R2 offers Windows Workflow activities built on the UC Managed API that allow you to build self-service agents (bots) that use either text based IM or automated speech recognition. This session will walk you through how to build simple self-service bots using the UC Managed API Workflow activities and how to make it understand requests using speech patterns. In addition, we will show how to build a more sophisticated interactive voice response application that routes people to the right contacts, based on their spoken commands.
Die letzte Session heute… und ich bin froh darüber. Irgendwie bin ich nicht mehr so aufnahmefähig. Microsoft ist in der Speech Regognition Reasearch seit 1993 tätig.

• Founded in 1993
• Leading scientists and engineers
• Code bases of Carnegie Mellon and Cambridge
• Over 188 patents since 1993


• Automatic Speech Recognition
and Conversational Understanding
• Speech Synthesis
• Deep language support
• Signal processing like noise filtering
• Speech Application Programming Interfaces
• Audio Search

Wichtig ist, dass zurzeit nur diese Sprachen unterstützt sind:
• North American English
• American Spanish
• Canadian French
• UK English
• German
• And beta previews
• Portuguese (Brazil, Portugal)

Es gibt verschiedene Szenarien, die denkbar sind in der Kombination von Worflows und UC. Ein Beispiel, welches mir spontan in den Sinn kommt, der auch für uns anwendbar wäre, ist ein Call Routing, dass aufgrund von der Presence Information den Call routet.

Das ganze nennt sich UCMA 2.0 Worflow. UCMA ist:

• Windows Workflow Foundation
• UCMA Workflow leverages many of WF features e.g.:
○ Activities
○ Designer Surface
○ Rules Engine
○ Runtime services etc.
• UCMA 2.0 Core and Microsoft Speech
• Abstracts a subset of UCMA 2.0 Core SDK functionality
• Combines them with MS Speech functionalities
like TTS and ASR to provide dialog components
• Visual Studio 2008
Requires .NET 3.5 SP1

Die UC Activities sind: Groupiert in Query Presence,"Call" Control, Statement, Question Answer, Commands und Events. Es gibt über 20 OOB Activities.

Es folgt nun eine Demo einer "Student Helpline". Der Student kann anrufen und wählen, ob er den Professor sprechen will, den Zeitplan einsehen oder das Sekretariat verlangen. Er ruft nun an, eine automatische Ansage kommt und er wählt "Contact Professor". Nun wird der Call auf den OC Client geroutet des Professor's der in der Presence available ist. Nun wird die Student Helpline via IM Kontaktiert und er bekommt die selbe Auswahl im IM gestellt. Er wählt nun "check my timetable" und wird nach seiner Studenten Nummer gefragt und nach dem Datum, wo er den TimeTable haben will. Nun wird im sein TimeTable dierekt im IM angezeigt. Nun kommt ein Code Walktrough. Der gesamte Workflow ist OOB WF. Die Activitys sind via UCMA verfügbar und natürlich lassen sich auch custom activities schreiben.

Nun folgt eine Ausführung, was der Speech Server ist und welche Version etc. aktuell ist. Nun wird die Demo für den Speech Server gestartet. Dies mit dem genaugleichen Beispiel wie vorher, diesesmal aber auf dem Speech Server.Diesemal gibt es aber die Funktionen nicht, welche den IM betreffen. Es wird nun gezeigt, wie einfach ich die Ansagen machen kann und die möglichen Antworten. Das müsste ich mal ausprobieren, ob dies wirklich so einfach funktioniert, z.B auch auf Deutsch.

MBL307 Windows Mobile Connection Manager

Whether it's Traffic Data for a GPS application, real-time quotes from a market stream or scheduling data for your line of business application, data connections are required in most mobile application scenarios today. With all this connecting going on Windows Mobile devices are expected to offer a plethora of diverse communication channels and technologies. Marry this complexity with the colourful range of network topologies deployed by Mobile Operators throughout the world and we are presented with a rather tricky problem of choosing the right connection at the right time! Connection Manager has battled this problem for some years now, with the promise of centralizing and simplifying network management and offering services ranging from dynamic data routing through application connection arbitration and the technology has changed and grown with the industry over time. Come to this session and learn how Connection Manager really works and how you can get the most from it to keep your application connected the world over.

Es geht darum, dass ich auf der einen Seite Wissen muss, welche Hardware ist in meinem Device und zweitens, welche Verbindungen sind vorhanden. Dazu benötige ich einen "Route" manager, der weiss, was ist in welcher Qualität vorhanden. Die Konfiguraton, welche das Device oder der Connection Manager benötigt, wird als XML vom Provider auf das Handy gesendet.Der route planner ist immer bemüht darum, welche Adresse wie erreicht werden kann.

Das Problem ist, das z.B ein Browser nicht wissen kann, welches Netz nun verfügbar ist und connectet. Aus diesem Grund gibt es den CM_Mappings Table. Dieser muss von der Applikation ausgelesen werden.

Es folgt eine Demo, wie der Connection Manager via XML Konfiguriert werden kann. Es folgen noch viele Demos, wie ich die Tables usw. auslesen kann. Alles in allem sehr interressant, ich hätte jedoch etwas leicht anderes erwartet. Da ich langsam müde bin und nicht mehr schreiben mag… aber wenns jemand interresiert:

Hier gibt’s mehr Infos:

Und hier:

WUX310 Beauty and the Geeks: Developer-Designer Workflow

Developer - designer workflow is one of the hottest topics talked and blogged about this year in the RIA space. If you are building or thinking about building RIA applications using Silverlight then this session is for you. Come and interact with a real life team that consists of a Designer, Integrator and Developer as they implement a Silverlight solution live on stage leveraging tools such as Adobe Photoshop and Illustrator, Expression Blend and Visual Studio using a workflow that allows them to build applications effectively in an agile environment. The session aims to provide a deeper insight into the building of RIA applications using not only Microsoft technologies but also the tools that designers have been using for the last 10 years.
Die Session wird von 3 Personen präsentiert, welche die Rollen, Designer, Integrator und Developer haben. Was braucht es, dass die zusamenarbeit mit diesen 3 Rollen funktioniert ? Very simple: Einen Raum, Source Control , Keep your friends close, and your devs/desinger closer. Der Developer ist der, der natürlich den Code schreibt, die Business Logik im Code umsetzt. Der Integrator ist die Schnittstelle zwischen dem Designer und dem Dev. Er muss beide Welten verstehen und zwischen den beiden Rollen "vermitteln". Und Schlussendlich der Designer, der designt. Klar soweit :-)

Das Resultat ist ein Photoshop Mockup. Darunter die 3 Rollen, welche zum Mockup führen:

Designer Owns the Layout !
• Blend’s unfortunate Grid-as-canvas
• Don’t bury stuff in code
• Designer can only access Xaml
• Beware non-Blend Xamlisms, e.g. DoubleAnimation
• Don’t tie the designer’s hands

Diese Session zeigt ein paar coole Features von Blend. Die Hauptgeschichte der Session war jedoch wirklich der Workflow, den es benötigt dass alle diese 3 Rollen effizient zusammenarbeiten.

• Designers at the heart of the process
• Developers should know Blend
• Love Xaml

Picture Break !

Und hier die wirklichen Freaks ! (Oder habt ihr schon mal ein MOSS-OS-.Net gesehen ? Wissen die mehr ? )

GEN01 Green Computing through Sharing: Reducing both Cost AND Carbon

Data centers consumed 1.5% of the total electricity in the US in 2006 and are on track to double as a percentage every five years. It is about 2% of the US total in 2008. Western Europe's use is increasing at a slightly faster rate (from a slightly lower base percentage). The consumption of electricity within data centers is of significant financial and environmental importance. Where the heck is all this power going? Why is the electrical load increasing so much? What can be done about it? This talk will examine both traditional and emerging data center designs. We will start by examining how a data center is laid out, constructed, and managed. We will show two emerging trends: the change to designing data centers for the optimization of power and the emergence of new economies of scale in data centers which is contributing to the drive towards cloud computing. Microsoft is actively moving to compete in the space of cloud computing as we are seeing at the PDC (Professional Developers Conference) a few weeks before TechEd EMEA Developers. Next, we will examine the sources of waste in the system today and examine why so many of our resources are underutilized. Because we are reluctant to share computing resources, they are left idle much of the time. Why is this currently the dominant choice? What can be done in the design of applications, systems, and data centers to make them more green (both carbon and cash)? What can developers do to make a difference?

Die Session läuft im Moment immernoch. Es ist die einzige im Moment, und sie findet im grossen Auditorium statt. Leider war ich zu spät, kam nicht mehr rein. Also kann ich auch nicht mehr dazu schreiben. ;-(

PDC207 Introducing Windows 7 - Part 2

The Windows® 7 operating system is the essential platform for developers. Windows 7 empowers developers to deliver creative solutions that are mobile-aware, connected, high-fidelity, and provide a highly intuitive user experience. Most importantly, developer platform fundamentals such as security, performance, and compatibility are top priorities in Window 7. This two part presentation introduces Windows 7 and summarizes the key developer advances in each of the following areas: making products that stand out; the best of Windows and the Web; and rock solid platform. Come and learn firsthand about Windows 7 developer technologies including: Multi-touch Support, Libraries, Federated Search, Ribbons, Sensors, Windows Web Services and the new Taskbar and shell experience. This is the second half of a two part presentation introducing Windows 7

Dies ist, wie im Titel ersichtlich, der 2. Teil, oder die Fortsetzung von gestern. Ich hatte eine echt schwere Entscheidung zu treffen, denn ich hatte in diesem Slot gleich 4 Sessions gebucht… aber das ich im 1.Teil war, muss ich fast den 2. Teil auch besuchen….
Kyle fängt an, was alles geändert wurde, verbessert natürlich. Dass mann den Memory verbrauch, Disk I/O und den Power verbrauch "dramatisch" reduziert hat, dazu im Gegensatz den Speed, die "Responsivness" erhöht hat und den Scale auf 256 Prozessoren ausgelegt.
Es wird nun ausgeführt, wie erreicht wurde, dass weniger Leistung, sprich Strom verbraucht wird. Man hat die Backgroud Activitys enorm verringert. "Race to Idle". Ein Hauptproblem sind dritt-Applikationen oder Services, welche beim Starten geladen werden oder einfach im Hintergrund laufen, diese ob der Benutzer diesen nun benötigt oder nicht. Die braucht CPU Power und Zeit, der Boot und Shutdown wird unnötigt verlängert etc. Aus diesem Grund gibt es nun in Windows 7 einen "Trigger-Start Service".
Er führt nun detailiert aus, was alles im detail gemacht wurde etc. Dies kann ich am Besten ilustrieren und somit erklären, wenn ich dann die Slides habe. Neu ist auch das Timer Coalscaling API.
Nun wird eine Powercfg Demo gezeigt. Mittels Powercfg -energy erhalte ich einen Energy Usage Report, wo ich sehen kann, welche Device, Service, App wieviel Energie verbraucht.
Jetzt geht es darum, was mit der GPU passiert ist, rep. Wie da gespart werden kann. WDM uses new Direct3D10.1 API, und darauf sind dann auch die MediaCenter, WDM selbst usw. basiert. Damit kann sehr viel Memory gespart werden. Er führt aus, dass die GDI Engine zu langsam sei. API Direct2D bietet zusätzliche Hardware und Software Pipelines. Anhand einer Grafik Demo wird gezeigt, wie die Performance Auswirkungen sind, wenn man zwischen GDI, GDI+, nur via Software und nun mittels Direct2D laufen lässt. Direct2D bietet volle GPU Unterstützung.
Nun kommt das Thema Intuitive User Interface: Multi Touch and Scenic Ribbons.Wichtig ist, alles ist "core" oder OS based und integriert, mann hat also keine zuätzlichen Tools oder sonst was. Die gesamte Unterstützung ist "einfach" da. Es wird ein sogenannte Touch Platform angeboten. Nun kommt eine Touch Demo. Es wird gezeigt, was alles möglich ist, wie normale Applikationen, welche nicht "Touch" Enabled sind bedient werden können (Etwa wie mit TouchFlow). Nun kommt die "Multi Gesture" Demo… einfach Cool, Surface lässt grüssen. Die ganze Demo läuft auf einem Smart Touch von HP (Jetzt kann ich nach der Session schnell schauen gehe, ob's irgend einen Ausgang habe, wo ich den Beamer anschliessen kann :-)) Nun wird mit 2 Personen "Air Hockey" gespielt…
Jetzt wird erklärt, was die Idee von den Ribbons ist und wie sie ausehen. Ribbons sollen schlussendlich allen Apps zur Verfügung stellen, dazu gibt es auch eine neue API.
Jetzt kommt noch eine Ausführung zum Thema "Sensors": Automatische Zeit Umstellung anhand des Ortes wo ich mit dem PC bin, das lokale Wetter etc. Dies wird via WIFI-Triangulation resolver, GPS Devices und Light Sensors usw. erledigt. Es ist noch nicht klar, ob die API die dies alles anbietet Sensors oder LocationDevice heissen wird… Ein weiteres Beispiel das gezeigt wird, ist der Einsatz vom Licht Sensor. Es wird gezeigt, dass wenn ich an die Sonne gehe, dass Display schlechter lesbar wird automatisch der Font grösser wird und , wenns extrem hell ist, das Display Schwarz Weiss wird, so dass es noch lesbar bleibt.

Leider sind die Folien zu dieser Session noch nicht verfügbar, ansonsten hätte ich sie gerne dazu benutzt, das eine oder ander noch zu erklären oder zeigen.