o-LIVE-r

Windows, Windows Phone, Silverlight, Internet Explorer, and the Cloud

  • o-LIVE-r

    Silverlight Streaming mit Windows Live

    • 0 Comments

    Wer hätte das gedacht, das es so einfach ist eine Silverlight-Anwendung ins Internet zu bringen. Und das ganze auch noch für Lau bzw. Umme wie ein Ex-Kollege aus dem Rheinland zu sagen pflegte.

    Um eine Silverlight Anwendung bei Windows Live zu veröffentlichen geht man am besten wie folgt vor.

    1. Anmelden mit einer Windows Live ID bei http://silverlight.live.com

    2. Erstellen eines Manifestes für die Silverlight Anwendung in Form einer XML-Datei

    <SilverlightApp>
      <version>1.0</version>
      <loadFunction>StartWithParent</loadFunction>
      <jsOrder>
        <js>MicrosoftAjax.js</js>
        <js>BasePlayer.js</js>
        <js>PlayerStrings.js</js>
        <js>player.js</js>
        <js>StartPlayer.js</js>
      </jsOrder>
    </SilverlightApp>

    In dieser Datei müssen die verwendeten JavaScript-Dateien und die Startfunktion hinterlegt werden.

    3. Alle benötigten Dateien (exklusive HTML-Seite und Projektdateien) in eine ZIP-Datei packen

    4. Uploaden

    Schritte zum einbinden der Silverlight-Anwendung in eigene Webseiten

    Anschließend kann man über Silverlight.live.com diese neue Anwendung in beliebige Webseiten einbauen. Die dazu nötigen Schritte werden auf der Seite inkl. nötiger Skripte angeboten.

    1. Im Header-Bereich der Webseite muss das Silverlight.js mittels <script type="text/javascript" source=http://agappdom.net/silverlight.js></script> eingebunden werden.

    2. Zusätzlich wird die CreateSilverlight-Methode mit den nötigen Informationen zur eigentlichen Anwendung in einen seperaten Skriptblock im Header eingefügt

    function CreateSilverlight() {
    Silverlight.createHostedObjectEx({source: "streaming:/28637/test2", parentElement: Wrapper_test2});
    }

    3. Letztendlich positioniert man das eigentliche Silverlight-Control im Body-Bereich der Webseite an eine beliebige Stelle.

    <div id="Wrapper_test2" style="width:500px; height:400px" overflow:hidden;">
    <script type="text/javascript">
    var Wrapper_test2 = document.getElementById("Wrapper_test2");
    CreateSilverlight();
    </scipt>
    </div>

    Einfach mal selber ausprobieren und gucken was für eine Anwendung ich geschrieben / designt habe ;-)

  • o-LIVE-r

    Neue CTP von Expression Blend 2 verfügbar

    • 0 Comments

    Seit einigen Tagen gibt es eine neue Vorabversion der nächsten Version von Expression Blend.

    Neben vielen kleinen Detailverbesserungen gibt einige richtige beeindruckende Erweiterungen ... ich bin begeistert.

    Bessere Sicht mit Blend 2: Split-View (Design/XAML) und Verbesserungen am XAML-Editor
    In Blend 2 können jetzt grafisches Design und XAML-Code parallel angezeigt werden, im XAML-Editor stehen außerdem erweiterte Formatierungsoptionen zur Verfügung, beispielsweise Font und -größe, Zeilenumbruch etc.

    Gute Nachrichten für Interactive Designer (und Developer): Controls aus bestehenden Objekten erzeugen
    In Blend 2 können nun bestehende Objekte/Inhalte in mehrfach verwendbare Controls konvertiert werden. Die ausgewählten Elemente, ihre Resourcen und referenzierte Animationen werden dabei als Controls zusammengefasst.

    Weitere gute Nachrichten für Developer: Unterstützung für Visual Studio 2008
    Expression Blend 2 September Preview kann jetzt Projekte aus VS 2008 („Orcas“) Beta 2 bearbeiten. Das Standard-Projektformat für WPF-Projekte in Blend 2 September Preview („Blend 2“ von hier an) ist nun das Format von Visual Studio 2008-Projekten, sofern das .NET Framework 3.5 installiert ist (Hinweis: VS 2005 kann solche Projekte nicht mehr bearbeiten). Blend 2 kann weiterhin Projekte aus früheren Versionen von Expression Blend oder VS 2005 öffnen.

    Gestalten von Animationen jetzt noch intuitiver: Komfortable Storyboard-Kontrolle mit dem neuen Storyboard Picker
    Der Storyboard Picker ersetzt die „alte“ Storyboard Box. Der Picker besteht aus einem Label, welches den Namen des ausgewählten Storyboards anzeigt, wenn eines ausgewählt ist, einem Shortcut-Menü (via Rechtsklick auf das Label), einem Pop-Up Button/Pop-Up Menü und dem obligatorischen „Schließen-Button“ um alle Storyboards zu schließen und den Aufnahmemodus zu beenden. Storyboards können damit komfortabel dupliziert, umgekehrt, umbenannt oder gelöscht werden.  

    Noch mehr… für Interactive Designer: Einfachere Modifikation von Storyboards und Keyframes
    Blend 2 verfügt nun über neue Funktionen zum Einstellen der Eigenschaften („Properties“) von Storyboards und Keyframes. Beispielsweise kann die Richtung einer Animation oder das Wiederholungsverhalten komfortabel modifiziert werden. Ebenso Übergänge zwischen Keyframes via Manipulation der Key Splines, oder durch die Eingabe spezifischer Werte.

    Noch mehr… für Interactive Designer: Mehr Vielfalt bei Vertex Animationen
    Blend 2 verfügt über neue Funktionen zur Animation individueller Eckpunkte („vertices“ = Punkte und Tangenten) auf einer Linie. 

    Bessere Übersicht (für alle): Breadcrumb Bar
    In der linken oberen Ecke der Designfläche befindet sich ab sofort eine „Breadcrumb Bar“, die das ausgewählte Objekt angibt. Falls ein Stil oder Template auf das spezifische Objekt angewendet werden kann (beispielsweise bei einem Button), zeigt ein Klick auf das Breadcrumb-Menü eine Liste der möglichen Optionen an. Wenn bereits ein Stil oder Template verwendet wird, zeigt das Menü zusätzliche Objekte an, die diesem Stil oder Template entsprechen. Dadurch ist es für Designer sehr einfach, (1) nachzuprüfen, ob ein bestimmter Stil oder ein bestimmtes Template bereits verwendet wird, (2) zwischen Arbeitsbereichen zu wechseln, und (3) exakt zu sehen an welchen Objekten (und wo) man gerade arbeitet.

    Und auch Gute Nachrichten für Typographen: Einbindung von Schriften (Font Embedding and Subsetting)
    Ich muss zugeben, ich habe eine Schwäche für Typografie und coole Fonts, daher freut es mich besonders das Folgende bekannt geben zu können: Blend 2 bringt neue Funktionen mit um Fonts (d.h. Schriften) in Projekte einzubetten. Durch Einbettung („Embedding“) wird sichergestellt, dass die Endanwender den richtigen Font sehen, den ich für das Design verwendet habe. Via „Subsetting“ können eigene „Unterfonts“ angelegt werden, die nur bestimmte Zeichen von Fonts enthalten, was die Dateigröße deutlich reduziert. Beides wird mit dem neuen Font Embedding Manager (im Menü Tools) gemacht. (Wichtig hierbei: Die meisten Fonts unterliegen einem Copyright und „gehören jemandem“ – beim Einbetten müssen diese Urheberrechte berücksichtigt werden. Informationen dazu gibt es beispielsweise hier: http://www.microsoft.com/typography/ und weiterführende technische Informationen zum Einbetten von Fonts in WPF-Anwendungen hier: http://msdn2.microsoft.com/en-us/library/ms753303.aspx)

    …und nochmal für Developer: Build Options
    Wenn eine Anwendung in Blend 2 erzeugt wird, wird die Eigenschaft $(BuildingInsideExpressionBlend) auf „true“ gesetzt. Diese Eigenschaft kann verwendet werden um zu steuern wie ein Projekt erzeugt wird. Weitere Informationen dazu und wie diese Funktion in Visual Studio unterstützt wird hier: http://msdn2.microsoft.com/en-us/library/ms171468(VS.80).aspx

    Und schließlich (noch) bessere Zeichenfunktionen: Object Manipulation
    Mittels neuer Anfasser („resizing handles“) können mehrere Objekte jetzt komfortabler gemeinsam skaliert, rotiert und modifiziert werden; außerdem gibt es diverse Usability-Verbesserungen, beispielsweise können Objekte nun intuitiv dupliziert werden, indem sie bei gedrückter Strg-Taste bewegt werden.

    Die neue Blend 2 Preview gibt es wie immer hier: http://www.microsoft.com/expression/products/download.aspx?key=blend2preview

    Vielen Dank an Steffen für die gute Zusammenfassung.

  • o-LIVE-r

    XTOPIA - Im neuen Look

    • 0 Comments

    Kurz vor der XTOPIA steht nun alles fest. Die Speaker, die Keynote-Speaker, die Partner, die Zeiten, und und und.

    Und ... wir haben eine neue Webseite mit noch mehr Infos.

    www.xtopia.de

  • o-LIVE-r

    TechEd 2007 SEA

    • 0 Comments

    I'm currently in Kuala Lumpur (Malaysia) for the TechEd 2007 SEA Conference. There I'm talking about ... Silverlight. What else ? :-)

    The Slides for this Sessions are available here for download.

    The Demos are cooming ... soon :-)

  • o-LIVE-r

    Windows Live Maps jetzt auf Deutsch

    • 0 Comments

    Das freut einen doch am Samstag abend :-)

    Regenwetter, keinen Bock vor die Tür zu gehen, und dann auch noch Hunger. Doch jetzt gibt es Abhilfe. Windows Live Maps gibt es jetzt als Beta-Version auf Deutsch.

    Wer also Pizzataxis  in München sucht, wird hier fündig. Und der Abend ist gerettet.

    image

  • o-LIVE-r

    Popfly rockt ...

    • 0 Comments

    Ohne Worte :-)

    Mehr Infos unter www.popfly.ms.

     

  • o-LIVE-r

    The Return of Masterchief ... in HD

    • 0 Comments

    Na endlich ... Masterchief kehrt zurück um die Welt zu retten ... mal wieder.

    Halo 3 kommt am 26. September. Bestellt hab ich schon.

    Derzeit gibt es auf MSN eine Fülle von sehr, sehr, sehr coolen Videos dazu. Die laufen bei mir gerade in der Heavy Rotation, wie es bei dem Klingelton-Sendern so schön heißt :-)

    PS: Die Videos gibt es sogar in HD. Na mit welcher Technologie das wohl gemacht wurde?
    :-)

    http://cmsimg.freep.com/apps/pbcsi.dll/bilde?Site=C4&Date=20070827&Category=BLOG12&ArtNo=70827085&Ref=AR

    Die Videos gibt es hier in HD und hier in normaler Auflösung. Also Boxen aufdrehen und freuen.

  • o-LIVE-r

    XTOPIA ... Early Bird läuft aus

    • 0 Comments

    Wer jetzt noch keine Karte für die XTOPIA hat, ist ziemlich spät dran. :-)

    Am 3. September läuft der Frühbuchertermin aus, und danach werden die (derzeit schon recht knappen) Tickets richtig rar und man muss den vollen Preis zahlen.

    Die Vorbereitungen laufen schon auf Hochtouren und ich freu mich riesig drauf.

    Mehr Infos: www.xtopia.de

  • o-LIVE-r

    Silverlight Anwendung noch und nöcher!!!

    • 0 Comments

    Jetzt wo die API von Silverlight 1.0 mit dem RC fest ist, spriessen immer mehr Anwendungen aus dem Boden. Ich persönlich komme gerade selber nicht mehr ganz nach, daher bin ich froh, das Tim Sneath diese Liste erstellt hat.

    2D Physics Engine, Amazon Search Visualization, Ant Attack, AOL Social Mail Gadget, Beatboxing, Bubble Factory, Bubblemark, Color Picker, Comic Book Viewer, Destroy All Invaders, Digger, Discovery Channel Never Miss TV, DotNetNuke Video Module, Dr Popper, EuroJobWeb, Flowers-For-You, Glyph Map, GOA WinForms Demo, Grand Piano, Infragistics Controls Demo, InkPresenter, JavaScript / .NET Chess, JellyGraph, Khet, Laugh-o-Sphere, Layout Controls, Line Graph, Major League Baseball, Michael’s Journal, Monotone, Nibbles Tutorials, Office Ribbon, Popfly, Python Console, Reflection Builder, Reflector for Silverlight, ReMIX07 Tokyo, Roxio Buzz, Silverlight Airlines Demo, Silverlight Chess Game Replay, Silverlight Mind Map, Silverlight Pad, Silverlight Rocks, SilverNibbles, Skinkers LiveStation, Sprawl, Surface Prototype, Telerik RadControls 3D Cube, Vertigo Flight Simulator, XPS Viewer, Zero Gravity

    Und genau wie Tim, weiß ich von noch viel mehr Anwendungen, die mit dem offiziellen Launch bzw. mit der XTOPIA einhergehen werden. Habe sogar an einigen direkt mitarbeiten dürfen, bzw. beratend zur Seite gestanden.

  • o-LIVE-r

    Suche einmal anders - Windows Live Search + Silverlight = Tafiti

    • 0 Comments

    "Microsoft evaluiert neue Suchoberfläche" stand heute bei ZDNET online. Na ja. Es ist eher eine (von vielen) Idee und gute Präsentation von mehreren Technologien die man miteinander kombinieren kann.

    Man nehme die Suchfunktionen von Windows Live und baue eine Oberfläche mit typischen RIA (Rich Interactive Application) - Features und schon hat mein Erlebnis der besonderen Art: TAFITI :-)

    Diese Suche nutzt die verschiedenen Features von Windows Live (Bildersuche, Newssuche, Feeds, etc.) und stellt die Ergebnisse mittels einer Silverlight Anwendung da. Suchergebnisse können per Drag&Drop gespeichert werden, in Bäumen dargestellt werden und viel mehr.

    image

     

    image

    www.tafiti.com

    PS: Kann übrigens jeder nachbauen wenn er mag.

  • o-LIVE-r

    Download mit dem Silverlight-Downloader

    • 0 Comments

    Mit Silverlight ist es möglich dynamisch Daten nach zu laden. Das hat den Vorteil, das man nur bei wirklichen Bedarf Daten laden muss. Dadurch kann man seine Anwendung sehr gut für niedrige Bandbreiten optimieren.

    Um die Bandbreite noch besser zu ausnutzen zu können unterstützt Silverlight das ZIP-Format. Das folgende Beispiel zeigt den notwendigen Code zu Download von 23 Bildern, die sich innerhalb einer ZIP-Datei befinden und anschließenden dynamisch zur Anwendung hinzugefügt werden.

    image

    In diesem Beispiel habe ich zusätzlich einen Fortschrittsbalken erstellt, der auf das Event DownloadProgressChanged reagiert und anzeigt wieviel Prozent bereits geladen wurden.

    Das gesamte Beispiel kann hier herunter geladen werden.

    _0_Base.Scene.prototype =
    {
        handleLoad: function(plugIn, userContext, rootElement) 
        {
            this.plugIn = plugIn;
            
            this.progressControl = plugIn.content.findName("ProgressControl");
            this.progressControl.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.progressControlMouseDown));
            
            var progressBar = plugIn.content.findName("ProgressBar");
            progressBar.width = 0; 
        },
        
        progressControlMouseDown: function (sender, object)
        {
            // alert('progressBarMouseDown');
            
            // Create a Downloader object.
            var downloader = this.plugIn.createObject("downloader");
            
            // Add DownloadProgressChanged and Completed events.
            downloader.addEventListener("downloadProgressChanged", onDownloadProgressChanged);
            downloader.addEventListener("completed", onCompleted);
            
            // Start download
            downloader.open("GET", "muc.zip");
    
            // Execute the Downloader request.
            downloader.send();
        }
    }
    
    function onDownloadProgressChanged(sender, eventArgs)
    {
        // Calculate the downloaded percentage.
        var percentage = Math.floor(sender.downloadProgress * 100);
    
        var plugIn = sender.getHost();
        var progressText = plugIn.content.findName("ProgressText");
        var progressBar = plugIn.content.findName("ProgressBar");
        var progressRectangle = plugIn.content.findName("ProgressRectangle");
    
        // Update the Rectangle and TextBlock objects of the visual progress indicator.
       
        var offset = progressRectangle.width / 100;
        progressText.text = percentage + " %";
        progressBar.width = percentage * offset; 
    }
    
    function onCompleted(sender, eventArgs)
    {
        alert("onCompleted");
        var plugIn = sender.getHost();
        var container = plugIn.content.findName("Container");
        
        for(var i=1; i<24; i++)
        {
            var xaml = '<Image Canvas.Left="' + i * 10 + '" Canvas.Top="' + i * 10 + '" Width="160" Height="120" />';
            var img = plugIn.content.createFromXAML(xaml);
            img.setSource(sender, "muc"+i+".jpg");
            container.children.add(img);
        }
    }
  • o-LIVE-r

    Silverlight: CreateFromXAML - Dynamisches Erzeugen von Controls zur Laufzeit

    • 0 Comments

    Wenn man dynamische Oberflächen erzeugen möchte, die erst zur Laufzeit erzeugt werden. Dann kann die sehr praktische Methode "CreateFromXAML" in Silverlight verwenden.

            var xaml = '<Ellipse';
            xaml += ' Width="' + GetRandomValue() + '"';
            xaml += ' Height="' + GetRandomValue() + '"';
            xaml += ' Fill="#FFFFFFFF"';
            xaml += ' Stroke="#FF000000"';
            xaml += ' Canvas.Left="' + GetRandomValue() + '"';
            xaml += ' Canvas.Top="' + GetRandomValue() + '"/>';
            
            // alert(xaml);
            
            var plugIn = sender.getHost();
            var elli = plugIn.content.createFromXaml(xaml);
            
            var container = plugIn.content.findName("Container");
            container.children.add(elli);

    image

    Das gesamte Codebeispiel ist hier zu finden.

  • o-LIVE-r

    Layouten mit Silverlight

    • 0 Comments

    Da es momentan nur den Canvas als Layout-Container für Silverlight gibt, muss sich selber Gedanken über das Anordnen von Element in Silverlight machen. Das ist relativ einfach.

    image

    Die kleine Beispielanwendung (Blaues Rechteck) passt die Größe des Silverlight-Controls automatisch an die Größe des Browserfensters an. Das innere schwarze Rechteck wiederum wird automatisch unten angeordnet, egal wie groß gerade das Fenster ist.

    Der Javascript-Code dazu ist recht einfach:

    _0_Base.Scene.prototype =
    {
        handleLoad: function(plugIn, userContext, rootElement) 
        {
            this.plugIn = plugIn;
            
            // Sample button event hookup: Find the button and then attach event handlers
            this.text = rootElement.children.getItem(0);    
            
            plugIn.content.onResize = onResized;        
        }
    }
    
    function onResized (sender, eventArgs)
    {
        updateLayout(sender);
    }
    
    function updateLayout(sender)
    {
        var plugIn = sender.getHost();
        var offset = 20;
        
        var MainContainer = plugIn.content.findName("MainContainer");
        var SmallContainer = plugIn.content.findName("SmallContainer");
        
        MainContainer.Width = plugIn.content.actualWidth;
        MainContainer.Height = plugIn.content.actualHeight;
        
        SmallContainer.Width = MainContainer.Width - 2*offset;
        SmallContainer.setValue("Canvas.Top", MainContainer.Height - SmallContainer.Height - offset);
        
    }

    Die gesamte Beispielanwendung gibt es hier.

  • o-LIVE-r

    Silverlight - Hello World Sample

    • 0 Comments

    Ein Kollege von mir behauptet steif und fest er sei der Erfinder von "Hello World". Tja, leider hat er anscheinend dazu kein Patent eingereicht. Hätte er das, müsste er heute nicht Events in Asien organisieren ;-)

    Hier ist quasi die Silverlight-Variante von "Hello World".

    Der nötige HTML-Code

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>01_HelloWorld</title>
    
        <script type="text/javascript" src="Silverlight.js"></script>
        <script type="text/javascript" src="Default.html.js"></script>
        <script type="text/javascript" src="Scene.xaml.js"></script>
    </head>
    
    <body>
        <div id="SilverlightPlugInHost">
            <script type="text/javascript">
                createSilverlight();
            </script>
        </div>
    </body>
    </html>

    Die XAML-Datei

    <Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      <TextBlock x:Name="myText" Text="Hello World" />
    </Canvas>

    Die passende Scene.xaml.js

    if (!window._0_Base)
        window._0_Base = {};
    
    _0_Base.Scene = function() 
    {
    }
    
    _0_Base.Scene.prototype =
    {
        handleLoad: function(plugIn, userContext, rootElement) 
        {
            this.plugIn = plugIn;
            
            // Sample button event hookup: Find the button and then attach event handlers
            this.text = rootElement.children.getItem(0);    
            
            this.text.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.handleMouseEnter));
            this.text.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
            this.text.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.handleMouseUp));
            this.text.addEventListener("MouseLeave", Silverlight.createDelegate(this, this.handleMouseLeave));
        },
        
        // Sample event handlers
        handleMouseEnter: function(sender, eventArgs) 
        {
            this.text.text = "MouseEnter";
        },
        
        handleMouseDown: function(sender, eventArgs) 
        {
            this.text.text = "MouseDown";
        },
        
        handleMouseUp: function(sender, eventArgs) 
        {
            this.text.text = "MouseUp";
        },
        
        handleMouseLeave: function(sender, eventArgs) 
        {
            this.text.text = "MouseLeave";
        }
    }

    Die gesamten Sourcen dazu findet man hier.

  • o-LIVE-r

    Silverlight 1.0 RC Visual Studio 2005 Template

    • 0 Comments
    Technorati Tags: ,

    Für Visual Studio 2005 gibt es jetzt eine Projektvorlage im dort direkt Silverlight 1.0 Anwendungen entwickeln zu können.

    Das schöne daran ist, das man sofort einen Button mit den üblichen Funktionen "MouseEnter", "MouseLeave" und Co. hat. Selbstredend ist der Button Rund :-)

    image

    Den Sourcecode für dieses unglaublich hervorragende Design gibt es hier.

  • o-LIVE-r

    Silverlight RC1 Demos

    • 0 Comments

    Frisch aus dem Studio gibt es wieder eine Handvoll alter und neuer Demos zu Silverlight. Dieses Demos sind bereits für den den Release Candidate 1 angepasst worden. Viel Spaß.

    Amazon Search Visualization
    Bubblemark
    Comic Book Viewer
    Digger
    Dr Popper
    Glyph Map
    GOA WinForms Demo
    Grand Piano
    JavaScript / .NET Chess
    Laugh-o-Sphere
    Monotone
    Nibbles Tutorials
    Office Ribbon
    Popfly
    Python Console
    ReMIX07 Tokyo
    Roxio Buzz
    Silverlight Airlines Demo
    Silverlight Mind Map
    Silverlight Pad
    Silverlight Rocks
    Skinkers LiveStation
    Sprawl
    Surface Prototype
    Telerik RadControls 3D Cube
    XPS Viewer
    Zero Gravity

  • o-LIVE-r

    Expression Studio ist (fast) da

    • 0 Comments

    Nach monatelangen Tests, Roadshows und viel viel Designerkontakten ist das Expression Studio nun ab dem 1.8. in den Regalen der Händler verfügbar.

    Letzte Woche waren wir noch einmal unterwegs um unsere Begeisterung für die neuen Designer-Tools in Form des Expression Studios anzukündigen und haben dort viel positives und konstruktives Feedback bekommen.

    Mein persönliches Highlight war das Pressemeeting im Köln Turm (siehe Foto) und die ganzen Touren mit Steffen Ritter.

    Mehr Informationen zum Expression Studio gibt es unter www.microsoft.de/expression.

    IMG_2305

  • o-LIVE-r

    Silverlight 1.0 ist (fast) fertig. RC1 ist da.

    • 0 Comments

    Gute Nachrichten zum Wochenbeginn: RC1 bedeutet Release Candidate 1, d.h. wir stehen ganz, ganz knapp vor der Veröffentlichung des offiziellen Silverlight 1.0-Plug-Ins für Mac und Windows. Seit der letzten Beta wurden ca. 2000 (!) Bugs behoben und wichtige Features integriert, so dass jetzt (endlich) die vollständige JavaScript-API verfügbar ist. Der Release Candidate ist deutlich stabiler als jede vorherige Version und durchläuft momentan nahezu unmenschliche Stresstests – aber außer ein wenig Shine & Polishing fehlt nicht mehr viel zum endgültigen Release. 

    Version 1.1 wurde ebenfalls überarbeitet; bezüglich der .NET-Runtime sind allerdings noch keine größeren Änderungen enthalten, aber der „1.1 Alpha Refresh“ verfügt nun über dieselbe Core Runtime wie 1.0 RC1. Und sehr schön: Wer bisher eine Silverlight Beta auf seinem Rechner installiert hatte, muss diese nicht manuell entfernen, der neue RC1-Installer ersetzt die entsprechenden Bits selbständig.

    Direkt zu den Downloads der Silverlight-Runtime (englisch):

    Und die passenden Werkzeuge und SKDs (englisch):

    Aufgrund der massiven Verbesserungen ist der RC1 nicht mehr 100% rückwärtskompatibel (insbesondere beim Object Activation Model) – d.h. manche der aktuellen Anwendungen und Demos, die mit der Beta entwickelt wurden, laufen nicht mehr sauber mit RC1. Wer bereits komplexere Silverlight-Anwendungen entwickelt hat, sollte einen tieferen Blick in die neue silverlight.js-Datei werfen und sich die „Breaking Changes“ ansehen. Dort sind alle Informationen zu finden, um die eigenen Anwendungen gegebenenfalls zu überarbeiten.

    Aber, der Aufwand sollte sich in Grenzen halten und ich kann zwei Dinge versprechen: (1) es lohnt sich, und (2) wir werden die 1.0 nicht noch einmal so drastisch überarbeiten.

    Die sogenannten Breaking Changes habe ich bereits in einem vorherigen Blogeintrag beschrieben.

  • o-LIVE-r

    Lebe wohl Maus ... WACOM herzlich willkommen

    • 0 Comments

    In guter Manier und Inspiration von meinem Manager FrankFi, der sich in einem Betrauerungsblogeintrag von seinem "geliebtem" Toshi M4 verabschiedet (siehe hier), möchte ich hiermit gestehen, das ich meine Maus absofort ins Heim schicken werde. Dieses lästige Kabel ging mir schon ewig auf den Keks und für meine "groben" Hände sind die Viecher eh viel zu klein.

    Seid einigen Tagen bin ich zweifacher Vater von zwei süßen WACOMs, die ich nach kurzem Zweifel sofort in mein Herz geschlossen habe. Das große 16:10 INTUOS 3 wide steht bei mir jetzt im Office. Das kleine schnuckelige Pen Tablet ist für zuhause und unterwegs. Ich will nicht mehr ohne sein.

    Ehrlich gesagt ist es am Anfang doch etwas gewöhnsbedürftig. Als alter Mausschubser ist man schon stark an die zwei oder drei (oder gar fünf) Maustasten gewöhnt. Aber es soll doch tatsächlich Menschen geben, die mit nur einer Taste auf ihrer Maus auskommen, komisch :)

    Man(n) hat eine viel natürlichere Haltung, und nach ein bisschen Übung trifft man sofort jeden beliebigen Punkt am Bildschirm. Besonders mit Grafiktools, die schon eher natürlicheres Malverhalten erwarten, als das Zeichnen mit der Maus ist es erlaubt ist es ein riesen Vorteil. Was mir besonders Spaß macht, ist das Zeichnen. Das WACOM erkennt 1024 Druckstufen, heißt auf Deutsch, wenn ich feste drücke, wir der Strich/Pinsel/Bürste/(Was auch immer) breiter, dicker, dunkler, etc.

    Demnächst mehr über meine Kunstwerke mit Expression Design und Co. hier auf diesem Kanal.

    Eindeutiger Nachteil: Meine Sauklaue bleibt eine Sauklaue, siehe unten. :-)

     

    Brief
  • o-LIVE-r

    XTOPIA 2007

    • 0 Comments

    DIE Konferenz des Jahres für Entwickler - Designer - Entscheider.

    Noch nie gab es in Deutschland eine Konferenz, die diese drei bis heute oft getrennt voneinander arbeitenden Gruppen unter ein Dach zusammen an einen "Konferenz"-Tisch gebracht hat.

    Vom 10.-12.10 in Berlin. 2 Tage Conference, 1 Tag Postconference mit Deep-Dive Workshops. Top-Speakern. Top-Agenturen. Top-Customer. Und viele spannende und bis dahin geheime Themen.

    Bisher haben die externen Sprecher bestätigt:

    Schnell anmelden unter www.xtopia.de, die Tickets werden langsam rar.

  • o-LIVE-r

    Meine Lieblingssidebar Gadgets

    • 0 Comments

    Das absolute Killer-Feature von Vista für meinen Vater (Frührenter mit Hang zum Fernweh) ist das Wetter-Gadget. Bei ihm muss man schon sagen die Wetter-Gadget. Seine Sidebar zieren im Schnitt 5 Wetter Gadgets, derzeit sind es Florenz, Phuket und ... keine Ahnung, wo sie sonst wieder hinreisen. Zusätzlich sind dort immer Hilden (meine alte Heimatstadt) und München (meine neue Heimatstadt) drin ... und München gewinnt fast immer was das Wetter angeht ;) Ich hoffe meine Eltern kommen jetzt nicht auf die Idee nach München zu ziehen.

    Ich selber bin auch ein großer Fan der Gadgets, derzeit habe ich dort den Countdown zur XTOPIA drin.

    image

    Damit ich die Performance meines Rechners kenne und weiß wann ich genug gleichzeitig laufende Visual Studios geöffnet habe, gucke ich ab und an auf den CPU Multimeter:

    image

    Und weil mein Englisch noch Potential hat ... Leo :-)

    image

    Damit ich immer das Finde was ich suche ;-)

    image

    Und damit ich weiß, wann es Zeit wird wieder einen Kaffee zu trinken natürlich mindestens ein Uhr

    image .

     

    Die Gadgets gibt es alle kostenfrei in der Windows Live Gallery: http://gallery.live.com/

  • o-LIVE-r

    Silverlight 1.0 kommt auf die Zielgerade

    • 0 Comments

    Und bevor Silverlight 1.0 nun fertiggestellt und veröffentlich wird, ein kleines Update über finale Änderungen, der sogenannten Breaking Changes.

    Diese Liste hat mein Kollege Joe Stegman (http://blogs.msdn.com/jstegman/archive/2007/06/06/more-v-1-0-changes.aspx) erstellt und ich bin gerade zu ... beschäftigt um sie detailiert zu übersetzen ;-)

    1. There are a set of ASX tags we previously silently ignored that we will now result in a MediaFailed event. These are: PREVIEWMODE, BANNERBAR, PARAM, REPEAT, STARTMARKER, ENDMARKER and some MOREINFO tags We will also throw a MediaFailed event if we encounter fallback URLs (e.g. multiple REF elements in an ENTRY tag).

    2. The FontURI for a Glyph element will be resolved asynchronously rather than synchronously. The means that text displayed via the Glyphs element will appear once the font is downloaded – in most cases after other content has already appeared.

    3. We report a greater number of parser errors. Developers will mostly likely see this in cases where they are setting a numeric value to an invalid value. In Mix bits, we’ll treat the invalid value as “0” where we throw an error in V 1.0. Note that internally, we’ve seen a number of samples with this issue. One way we’ve seen this is with the following:

    <TextBlock Width="Auto" Text="Created By:" />

    “Auto” is not supported in Silverlight and in Mix bits caused the Width to be set to 0. Given we don’t clip TextBlock by Width, this didn’t impact the application but will generate a V 1.0 error.

    4. We’ve changed OnLoad, OnError, OnResize, OnFullScreenChange to be function pointer based rather than being string based. In order to developer Silverlight content that works on both Mix and V 1.0 bits, you’ll need to do the “if check” I described in a previous post.

    // Hook resize

    if (Sys.Silverlight.checkVersion(_ag, "20416")) {

    // Mix code path – use strings

    _ag.content.onResize = "javascript:onResize";

    _ag.content.onFullScreenChange = "onFullScreenChanged";

    } else {

    // RTM code path – use function pointers

    _ag.content.onResize = onResize;

    _ag.content.onFullScreenChange = onFullScreenChanged;

    }

    5. The MediaElement Position property value can be greater than the MediaElement NaturalDuration property value. This will mostly be seen in broadcast cases where previously we returned 0 for the “Position” value but now we return the play time.

    6. Elements in <*.Resource> blocks must be named (which will almost always be the case in Mix bits). What this means is you must have an x:Name property for all content in a <*.Resources> section.

    <!-- OK with Mix bits -->

    <Canvas.Resources>

    <Storyboard>

    <!-- Content here... -->

    </Storyboard>

    </Canvas.Resources>

    <!-- Must add x:Name -->

    <Canvas.Resources>

    <Storyboard x:Name="name">

    <!-- Content here... -->

    </Storyboard>

    </Canvas.Resources>

    7. You can no longer use “\” in URIs. At Mix, this did not work correctly across platforms and caused some confusion so we’ve made this break consistently across all platforms. All web resources paths that use a “\” should replace them with “/”. For example, use "/assets/images/bg.jpg" instead of "\assets\images\bg.jpg".

    8. The PathFigure IsFilled property is no longer supported. Note that IsFilled was silently ignored in the Mix release and we now produce an error if this is used.

    9. AddEventListener now returns a token that needs to be passed to removeEventListener to un-register event handlers. If you are using removeEventListener (which didn’t work consistently in the Mix bits), you’ll need to modify the JavaScript calls to addEventListener and removeEventListner as shown below:

    // Silverlight Beta (Mix)

    obj.addEventListener("MouseEnter", handler);

    obj.removeEventListener("MouseEnter", handler);

    // Silverlight Version 1.0

    var eventId = obj.addEventListener("MouseEnter", handler);

    obj.removeEventListener("MouseEnter", eventId);

    // Or if using XAML to add the event handler

    // Silverlight Beta (Mix)

    <Canvas x:Name="obj" MouseEnter="javascript:handler">

    sender.findName("obj").removeEventListener("MouseEnter", handler);

    // Silverlight Version 1.0

    <Canvas x:Name="obj" MouseEnter="handler">

    sender.findName("obj").removeEventListener("MouseEnter", 0);

    10. The downloader component no longer supports synchronous downloads and therefore the synchronous argument to the “open” method. See this post for details.

    11. The syntax “javascript:” is no longer supported when specifying event handlers. See this post for details.

    12. The Silverlight plug-in has been renamed from “WPFe Plug-In” to “Silverlight Plug-In”. This breaks browser detection used in the Mix version of “silverlight.js”. This version of “silverlight.js” supports both the Mix and RTM plug-in names.

    13. Animations declared in markup must include a TargetName and a TargetProperty.

    14. The “Visibility” property no longer accepts “Hidden” (use “Collapsed” instead). See this post for details.

  • o-LIVE-r

    Expression im Pixeltown

    • 0 Comments

    Sehr nette Idee :-)

    Hier geht es ins Pixeltown: www.vo-pixeltown.com

    image

  • o-LIVE-r

    Popfly meets Silverlight

    • 0 Comments

    Okay, okay, ich bin wahrscheinlich der letzte der es in seinem Blog erwähnt, aber egal :-)

    Popfly rockt. Und ist so einfach, das selbst ich es "programmieren" kann. Die "Entwicklungsumgebung" für Mashups und Webseiten bietet eine völlig neuartige Möglichkeit zum erstellen von Mashups (Anwendungen die verschiedene Informations- und Funktionsquellen verwenden). Das ganze basiert u.a. auf Silverlight (wer es noch nicht mitbekommen hat ... meine derzeitige Lieblingstechnologie :-))

    Das Ergebnis kann man in seine Blogs einklicken oder aber als Windows Sidebar Gadget auf seinen Desktop holen.

    image

    Popfly findet man unter www.popfly.ms

    image

    Das Ergebnis findet man in meinem privaten Blog unter http://livecode.spaces.live.com

    image

  • o-LIVE-r

    Windows Live in a box

    • 0 Comments

    Nicht ganz frisch, aber dennoch sehr spannend, ist Windows Live in a box.

    Der kostenfreie Download enthält sehr viele Samples inkl. Code und Dokumentation zu den Windows Live APIs.

    Hier gibt es mehr Infos: http://www.codeplex.com/liveinabox

Page 50 of 56 (1,398 items) «4849505152»