<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The MossyBlog Times Archives 2007 - 2009 : Flex</title><link>http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx</link><description>Tags: Flex</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Silverlight and Flex working together.</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/08/21/silverlight-and-flex-working-together.aspx</link><pubDate>Mon, 20 Aug 2007 18:32:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4480836</guid><dc:creator>scbarnes</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/4480836.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=4480836</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=4480836</wfw:comment><description>&lt;p&gt;I've talked about this a lot, even produced some demos for presentation on the subject, yet there is one online you can &lt;a href="http://blog.paranoidferret.com/index.php/2007/08/20/communicate-between-flex-and-silverlight-using-javascript/#comment-608" target="_blank"&gt;see today&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The guys at &lt;a href="http://blog.paranoidferret.com/index.php/2007/08/20/communicate-between-flex-and-silverlight-using-javascript/#comment-608" target="_blank"&gt;Switch On the Code&lt;/a&gt; have put together a &lt;a href="http://blog.paranoidferret.com/index.php/2007/08/20/communicate-between-flex-and-silverlight-using-javascript/#comment-608" target="_blank"&gt;demo&lt;/a&gt; of using Flex Sliders to manipulate a Silverlight ball. They also posted a tutorial on how they were able to make it happen.&lt;/p&gt; &lt;p&gt;I did wonder why they didn't make reference to the &lt;a href="http://www.actionscript.com/Article/tabid/54/ArticleID/learn-about-the-exciting-new-external-interface-api-as-you-code/Default.aspx"&gt;ExternalInterface API&lt;/a&gt; (i.e. send the data back from Silverlight to Adobe Flex?) Anyway, it's yet another example of how the two runtimes can work with one another easily enough - provided you are open to the idea.&lt;/p&gt; &lt;p&gt;I'd classify these guys "&lt;a href="http://blogs.msdn.com/msmossyblog/archive/2007/08/07/ria-just-whom-really-builds-them.aspx" target="_blank"&gt;Prototypers&lt;/a&gt;"&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4480836" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/RIA+Producer/default.aspx">RIA Producer</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Prototypers/default.aspx">Prototypers</category></item><item><title>Web On The Piste (New Zealand).</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/08/13/web-on-the-piste-new-zealand.aspx</link><pubDate>Mon, 13 Aug 2007 04:48:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4360221</guid><dc:creator>scbarnes</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/4360221.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=4360221</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=4360221</wfw:comment><description>&lt;p&gt;&lt;a href="http://www.webonthepiste.com/" target="_blank" atomicselection="true"&gt;&lt;img style="margin: 10px" hspace="5" src="http://www.webonthepiste.com/webonthepiste/app_templates/coretemplates/images/logo1.gif" align="left" vspace="5" border="0"&gt;&lt;/a&gt; I'll be attending and speaking at the first "&lt;a href="http://www.webonthepiste.com/" target="_blank"&gt;Web On The Piste&lt;/a&gt;" in New Zealand next week. This is a conference being organized by both &lt;a href="http://www.straker.co.nz" target="_blank"&gt;Straker&lt;/a&gt; and &lt;a href="http://www.gruden.com" target="_blank"&gt;Gruden&lt;/a&gt;, two companies in which I've had a lot of positive dealings with over the years. It's shaping up to being hopefully a permanent fixture on my conference calendar going forward (that and the Queenstown Skiing surely helps the cause).&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;i&gt;&lt;b&gt;"..Web on the Piste&amp;nbsp; &lt;/b&gt;&lt;/i&gt;is scheduled for the 22nd - 23rd of August , 2007 at the ultimate in venues, Queenstown, New Zealand. We are bringing world leaders in Rich Internet and associated technologies as speakers and instructors for 2 days of Flex, AJAX, SPRY, Apollo and Flash as well as covering server-side back end technologies such as ColdFusion, .Net, Java and PHP and some sessions on mobile based content delivery..."&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;img src="http://www.webonthepiste.com/webonthepiste/fms//images/ski.jpg" align="right"&gt; I think I'll be both on a "Panel Discussion" and will talking about how one is able to re-use some of their &lt;a href="http://www.adobe.com/flex" target="_blank"&gt;Adobe Flex&lt;/a&gt; skill set with &lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; (don't worry it won't be a political mess and It's targeted at those folks whom have *already* made the decision to try Microsoft Silverlight but have a Adobe Flex background).&lt;/p&gt; &lt;p&gt;I'm looking forward to meeting some of the New Zealand RIA folks who I met at &lt;a href="http://www.webdu.com.au" target="_blank"&gt;WebDU&lt;/a&gt; early this year whilst also catching up with some of the Aussie Adobe Community&amp;nbsp;folks as well.&lt;/p&gt; &lt;p&gt;Special warm thankyou goes towards &lt;a href="http://www.straker.co.nz" target="_blank"&gt;Straker&lt;/a&gt; &amp;amp; &lt;a href="http://www.gruden.com" target="_blank"&gt;Gruden&lt;/a&gt; for making some bold steps towards organising this event for the first time. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.straker.co.nz" target="_blank" atomicselection="true"&gt;&lt;img hspace="5" src="http://www.webonthepiste.com/webonthepiste/app_templates/coretemplates/images/LogoShado.gif" vspace="5" border="0"&gt;&lt;/a&gt; &lt;a href="http://www.gruden.com" target="_blank" atomicselection="true"&gt;&lt;img hspace="5" src="http://www.webonthepiste.com/webonthepiste/app_templates/coretemplates/images/LogoGruden.gif" vspace="5" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4360221" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Adobe/default.aspx">Adobe</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Conference/default.aspx">Conference</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Web+On+The+Piste/default.aspx">Web On The Piste</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/WebDU/default.aspx">WebDU</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/WOTP/default.aspx">WOTP</category></item><item><title>We gave birth to RIA.</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/07/25/we-gave-birth-to-ria.aspx</link><pubDate>Tue, 24 Jul 2007 23:32:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4033787</guid><dc:creator>scbarnes</dc:creator><slash:comments>17</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/4033787.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=4033787</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=4033787</wfw:comment><description>&lt;p&gt;Adobe's &lt;a href="http://twitter.com/mdowney" target="_blank"&gt;Mike Downey&lt;/a&gt; and I were throwing comments back and forth on &lt;a href="http://twitter.com/mossyblog" target="_blank"&gt;twitter.com&lt;/a&gt; this morning, it was derived from &lt;a href="http://scarynoises.com/blog/archives/2007/04/microsoft_redef.html" target="_blank"&gt;Brad Becker&lt;/a&gt; (ex Flash Product guy @ Macromedia and now Microsoft staffer) post on &lt;a href="http://en.wikipedia.org/wiki/Rich_Internet_Application" target="_blank"&gt;RIA&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://scarynoises.com/blog/archives/2007/04/microsoft_redef.html" target="_blank"&gt;Brad posted&lt;/a&gt; this a few months ago when JD @ Adobe got all fired up over Rich Interactive Applications vs Rich Internet Applications. Adobe will argue until they are blue in the face that Microsoft are attempting to Hijack the term RIA and .. blah blah blah.&lt;/p&gt; &lt;p&gt;Honestly, whom named RIA (Microsoft or Adobe) has become irrelevant.&amp;nbsp;If you look at the history of RIA overall, it's something that we have always hinted at but never could quite get there.&lt;/p&gt; &lt;p&gt;VRML for example would have to by far my earliest memory of the "RIA" concept. You have a rich 3D world in which you can interact with, but of course in the late 1990's there was only so much you could do in terms of client-to-server side interaction.&lt;/p&gt; &lt;p&gt;In 2000, I remember seeing &lt;a href="http://erik.eae.net/" target="_blank"&gt;Erik's&lt;/a&gt; attempt at WebOS.com, which was by far the earliest iteration of RIA / AJAX I've seen. You may know of Erik today as one of the &lt;a href="http://erik.eae.net/archives/2007/05/30/19.06.10/trackback/" target="_blank"&gt;brains behind Google Gears&lt;/a&gt;, &lt;a href="http://webfx.eae.net" target="_blank"&gt;WebFX&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.bindows.net" target="_blank"&gt;Bindows.NET&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I was working on Billabong's website's in 2000, when I first started to use Flash + Remote Servers, but it was with Flash&amp;nbsp;5 and all I could do was bring in variables remotely via PARAM or URL string. RIA was my intent but couldn't execute.&lt;/p&gt; &lt;p&gt;I've been on the Macromedia ride ever since, but like all the previous iterations of "RIA" it just hasn't been executed. There have been success stories of RIA working today, but it hasn't changed the landscape and I say this as if it has we wouldn't be seeing AJAX. There is no need for AJAX if "FLASH" RIA were to succeed? one cancels out the other and &lt;a href="http://search.live.com/results.aspx?q=Flash+vs+AJAX&amp;amp;src=IE-SearchBox" target="_blank"&gt;many have argued this case&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Silverlight and Flash Player are advanced, no question in this but both Adobe and Microsoft can't own RIA because it's realistically an idea or belief that was first formed many years ago and whilst Adobe will have you believe they are the founders of RIA, they simply built a campaign around it.&lt;/p&gt; &lt;p&gt;It's like saying AJAX is owned by &lt;a href="http://en.wikipedia.org/wiki/Jesse_James_Garrett"&gt;Jesse James Garrett&lt;/a&gt;&amp;nbsp;or he invented AJAX? (he did? I'm sure Google and Microsoft both had&amp;nbsp;a large role to play in this, Microsoft with XmlHttpRequest and Google in its mainstream use).&lt;/p&gt; &lt;p&gt;We the community are the ones whom own RIA, not Microsoft or Adobe. They simply enable and market the idea of what RIA should be.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4033787" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Evangelists/default.aspx">Evangelists</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flash/default.aspx">Flash</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Adobe/default.aspx">Adobe</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Fash+Killer/default.aspx">Fash Killer</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Twitter/default.aspx">Twitter</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Google+Gears/default.aspx">Google Gears</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Community/default.aspx">Community</category></item><item><title>Silverlight: Project vs Prototype.</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/07/25/silverlight-project-vs-prototype.aspx</link><pubDate>Tue, 24 Jul 2007 21:36:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4032343</guid><dc:creator>scbarnes</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/4032343.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=4032343</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=4032343</wfw:comment><description>&lt;p&gt;I get a lot of emails about how one should approach Silverlight and whether they should hold off until the control/layout frameworks are feature complete.&lt;/p&gt; &lt;p&gt;My answer is simple, focus on what you have today as it will be something in which if you invest now will aide you once the framework(s) / future features hit. &lt;/p&gt; &lt;p&gt;I say this from experience, as when I was first given access to Adobe Flex many years ago, it was without a Debugger, No Editor and the framework was being pieced together as I was shown. It was admittedly frustrating at first, but It helped me understand how the technology was starting to take form, it was because of this that I understood how the framework inside Adobe Flex intersects with various other pieces / API's found within the technology.&lt;/p&gt; &lt;p&gt;This is about prototyping, not project building per say. If you can put together a Silverlight piece that does nothing but make round circles bounce off one another, then this is the absolute right attack posture for Silverlight.&lt;/p&gt; &lt;p&gt;If you walk away from a Silverlight presentation and immediately want to build your next RIA and have no or little experience with doing so, chances are you will fail. I say this as despite both Microsoft and Adobe making really strong aggressive advancements in producing RIA, there is still a mindset needed to be undertaken. There are still limitations throughout and it's about understanding RIA first and foremost. It's about playing with the technology physics and getting a feel on how it can assemble and most important of all, it's about knowing the tools you are about to invest a lot of money and time into.&lt;/p&gt; &lt;p&gt;Producing RIA can be fun, but start of with basic prototypes and later the projects will come more naturally.&lt;/p&gt; &lt;p&gt;If you have prototypes, let me know as I want to compile a list of them to show folks both internally and externally. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4032343" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/RIA/default.aspx">RIA</category></item><item><title>Going Flex to Silverlight: Understanding our DisplayList API.</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/05/27/going-flex-to-silverlight-understanding-our-displaylist-api.aspx</link><pubDate>Sun, 27 May 2007 12:49:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2912920</guid><dc:creator>scbarnes</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/2912920.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=2912920</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=2912920</wfw:comment><description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;Disclaimer:&lt;/u&gt;&lt;/strong&gt; This is part two of my &lt;strong&gt;&lt;/strong&gt;&lt;a href="http://blogs.msdn.com/msmossyblog/archive/tags/Going+Flex+to+Silverlight/default.aspx" target="_blank"&gt;Going Flex to Silverlight series,&lt;/a&gt; where I'll be talking about how one is able to transfer concepts they have learnt in Flex world but are looking to explore what Silverlight also has to offer. Whatever reason they have chosen, is entirely up to them and this isn't to be taken as a feature for feature comparison.&lt;/p&gt; &lt;p&gt;In the Adobe Flex (ActionScript) to create a child element/object within the code base, you would punch out something like this:&lt;/p&gt; &lt;p&gt;&lt;pre&gt;	var txt:TextField = new TextField();
	txt.x = 100;
	txt.y = 0;
	txt.text = "Click for more info...";
	addChild(txt)
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Which would then render &lt;strong&gt;MyButton&lt;/strong&gt; onto the &lt;strong&gt;DisplayObjectContainer&lt;/strong&gt; in question (provided it derives from a DisplayObject).&lt;/p&gt;
&lt;p&gt;Inside Silverlight, there is a similar approach but instead of just limiting to syntax code, one is able to piece together elements within elements through loading XAML at runtime. In that, you can access XAML pieces parked on your host, bring them in at runtime and instantiate them (children and all) through the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412361.aspx" target="_blank"&gt;CreateFromXAML&lt;/a&gt;.&amp;nbsp; example:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;    // Retrieve a reference to the control.
    var control = sender.getHost();
    
    // Define a XAML fragment and create it.
    var xamlFragment = '&amp;lt;TextBlock Canvas.Top="200" Text="Click for more info..." /&amp;gt;&lt;textblock text="Click for more info..." canvas.top="100"&gt;';
    textBlock = control.content.createFromXaml(xamlFragment);

    // Add the XAML fragment as a child of the root Canvas object.
    sender.children.add(textBlock);

&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;As you can see, there are some similarities in approach, suffice to say that one is mode of approach. It's also important to note that you are also able to create child elements through managed code such as C# using Flex style syntax - which - can be found in both WPF and Silverlight. Yet, if you prefer JavaScript you can use the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412363.aspx" target="_blank"&gt;CreateObject(type)&lt;/a&gt; approach, which is similar I guess to the Coldfusion approach to life as well (CreateObject is used to instantiate Coldfusion Classes inside managed code).&lt;/p&gt;
&lt;p&gt;Another cool feature within the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412361.aspx" target="_blank"&gt;CreateFromXAML&lt;/a&gt; bag of tricks, is that you can also create XAML pieces loaded in via .ZIP files themselves similar to I guess Flex Modules API. This is done via &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412362.aspx" target="_blank"&gt;CreateFromXamlDownloader Method&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;pre&gt;function onDownloadCompleted(sender, eventArgs)
{
    // Determine whether the download was successful.
    if (currentDownloadProgress != 1)
    {
    	alert("Failed to succesfully download zip file");
        return;
    }

    // Retrieve the XAML content from the downloaded package file.
    var jacketBrowserXaml = sender.getResponseText("jacketBrowser.xaml");

    // Create the objects from the XAML content.
    var jacketBrowser = control.content.createFromXaml(jacketBrowserXaml);

    // Add downloaded XAML content to the control.
    sender.findName("root").children.insert(0, jacketBrowser);

    // Retrieve a reference to the Image object representing the jacket.
    var jacketImageSlice = sender.findName("jacketSlice");

    // Set the Source property of the Image object to the specific jacket image
    // within the downloaded Zip package file.
    jacketImageSlice.setSource(sender, "rotation01_green.png");
}


&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msdn2.microsoft.com/en-us/library/Bb412362.VisualTree_05(en-us,MSDN.10).png"&gt; &lt;/p&gt;
&lt;p&gt;The children collection there after has also all the typically Method calls made available for you then to find different elements by various means. Yet, if you are unsure of where an element exists within the XAML DOM itself but do remember it's name, one is able to then use the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb188297.aspx" target="_blank"&gt;FindName&lt;/a&gt; Method&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;function onLoaded(sender, eventArgs)
{
    // Retrieve a reference to the control.
    var control = sender.getHost();

    // Retrieve a reference to the specified object.
    var object = control.content.findName("myTextBlock");

    // If a valid object reference, display an alert dialog box.
    if (object != null)
    {
        alert(object.toString() + " found");
    }
}
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This is also the very similar to the way Flex does it inside &lt;strong&gt;Flash.display.DisplayObjectContainer's&lt;/strong&gt; in that it would allow something along the lines of:&lt;/p&gt;
&lt;p&gt;&lt;pre&gt;	var target:DisplayObject = container.getChildByName("myTextBlock"); 
	trace(container.getChildIndex(target)); // 0
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This however would be done on the same node level as the actual Parent of the child. The &lt;a href="http://msdn2.microsoft.com/en-us/library/bb188297.aspx" target="_blank"&gt;FindName&lt;/a&gt; method however searches the entire Silverlight hierarchy for the element that have the name you provided.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/strong&gt;&lt;br&gt;There is a lot that Silverlight has on offer and when you dig deeper into what it has today, even in it's alpha state, there is a lot of goodness to be found. I'll continue to expose some of these gems going forward, and if you want me to discuss a topic of some kind, drop me an email on it. That being said, one thing I'd like you all to take away from this post is that the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412362.aspx" target="_blank"&gt;CreateXAMLFromDownloader&lt;/a&gt; is a massive step forward if you ask me in terms of performance / architecture design &amp;amp; development for applications should they enter the Silverlight path post its release.&lt;/p&gt;
&lt;p&gt;More Info: &lt;a title="http://msdn2.microsoft.com/en-us/library/bb412361.aspx" href="http://msdn2.microsoft.com/en-us/library/bb412361.aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb412361.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2912920" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flash/default.aspx">Flash</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/XAML/default.aspx">XAML</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Going+Flex+to+Silverlight/default.aspx">Going Flex to Silverlight</category></item><item><title>The basics of a Silverlight Control</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/05/14/the-basics-of-a-silverlight-control.aspx</link><pubDate>Sun, 13 May 2007 17:25:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2600644</guid><dc:creator>scbarnes</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/2600644.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=2600644</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=2600644</wfw:comment><description>&lt;p&gt;I've been sitting here for the past few days really getting my head deeper into Silverlight and I'll post more example's of going from Flex to Silverlight later this week. I will however branch out a bit here and illustrate one nugget that I wish someone had of sat over my shoulder and told me about prior to embarking on Silverlight 101.&lt;/p&gt; &lt;h4&gt;InitializeFromXaml is your friend.&lt;/h4&gt; &lt;p&gt;In C# (Managed Code) I was struggling initially on how the hell do I create children within a Canvas tag for example. In that how does Orcas know how to assemble the pieces together so that I have not only nested children via C# but at the same time, ensuring Silverlight runtime knows as well (ok, one in the same I guess).&lt;/p&gt; &lt;p&gt;How about some code:&lt;br&gt;&lt;br&gt;&lt;font color="#0080c0"&gt;XamlPath = "&lt;strong&gt;com.mossyblog.MyFile.xaml&lt;/strong&gt;";&lt;br&gt;System.IO.Stream s = this.GetType().Assembly.GetManifestResourceStream(&lt;strong&gt;XamlPath&lt;/strong&gt;);&lt;br&gt;actualControl = this.InitializeFromXaml(new System.IO.StreamReader(s).ReadToEnd()); &lt;/font&gt;&lt;/p&gt; &lt;p&gt;A bunch of stuff happens here in 2 small lines of code, but basically it reads in the file path I pass in (&lt;strong&gt;XamlPath&lt;/strong&gt;) and invokes &lt;strong&gt;this.InitializeFromXaml()&lt;/strong&gt; to effectively read in the file and instantiate this control.  &lt;p&gt;It's important to make mental note of this as when you write your own controls inside Silverlight, you will need to do this for all Controls (unless you extend Canvas or something along those lines).  &lt;p&gt;That being said if you use the example UI Framework (&lt;a href="http://www.microsoft.com/silverlight/tools.aspx" target="_blank"&gt;Located in the Alpha 1.1 SDK&lt;/a&gt;) you can effectively bypass a lot of this by simply extending the &lt;strong&gt;ControlBase Class&lt;/strong&gt; (which does it's own automatic lookup in terms of path finding and appropriate level of instantiation)  &lt;h4&gt;&amp;nbsp;Creating Children from within a Custom Control&lt;/h4&gt; &lt;p&gt;After you master the "How" for bringing in XAML files as controls within your code-behinds, it's now a bit of a head scratching exercise on how one is able to then instantiate sub-children within?&lt;/p&gt; &lt;p&gt;If you do a "this." and await intelli-sense you're not going to see any methods like "add()" which is what you need right?&lt;/p&gt; &lt;p&gt;Well again, looking at the SDK examples you will note the following in some parts:&lt;/p&gt; &lt;p&gt;&lt;font color="#0080c0"&gt;((Canvas)ActualControl).Children.Insert(0, content);&lt;br&gt;&lt;/font&gt;&lt;em&gt;[via ListBox.cs]&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Inside ControlBase class, there is a public property named &lt;strong&gt;AcutalControl&lt;/strong&gt;, which then points to a private property called &lt;strong&gt;actualPath&lt;/strong&gt; which was given it's value based off the result of &lt;strong&gt;this.initializeFromXaml()&lt;/strong&gt; method invocation (Important to note kids).&lt;/p&gt; &lt;p&gt;This specific type returned from doing this is &lt;strong&gt;FrameworkElement&lt;/strong&gt; (which basically means all roads lead back to this guy). Now, FrameworkElement does have&amp;nbsp; Add children methods if you were to read-up on it via the XAML documentation (WPF folks will love it). In Silverlight however, if you were to typecast it as a Canvas element (which is legal) you effectively are then able to use Children.Add( myChild ) approach to life.&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt; &lt;p&gt;&lt;font color="#0080c0"&gt;public VideoThumbNail()&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setXamlPath("APAC07.Carrousel.VideoThumbNail.xaml");&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.createChildren();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.measure();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.updateDisplayList();&lt;br&gt;}&lt;/font&gt;  &lt;p&gt;&lt;font color="#0080c0"&gt;public void createChildren() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.createChildren(); &lt;/font&gt; &lt;p&gt;&lt;font color="#0080c0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImageThumbNail it = new ImageThumbNail();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((Canvas)ActualControl).Children.Add(it); &lt;/font&gt; &lt;p&gt;&lt;font color="#0080c0"&gt;}&lt;/font&gt;  &lt;p&gt;I wrote my own event management approach to Silverlight simply because I was bored and thought it may help Adobe Flex Developers understand Silverlight by using similar concepts found within Adobe Flex 2.0.1 framework.&lt;/p&gt; &lt;p&gt;I'm not kidding, with enough time I think I could easily code-port the framework into Silverlight (given&amp;nbsp;Adobe Flex&amp;nbsp;soon&amp;nbsp;will be open source - it may even be legal! hehe).&lt;/p&gt; &lt;p&gt;I hope this helps folks understand how the creation of children happens with managed code inside Silverlight development space. It's pretty straightforward once someone shows you at the start and then from there on out it's just downhill all the way (not as scary).&lt;/p&gt; &lt;p&gt;Back to coding, as I need this demo finished by Wednesday for the &lt;a href="http://www.microsoftsharepoint.com/register/Pages/default.aspx" target="_blank"&gt;APAC Sharepoint&lt;/a&gt; conference where I'll be showing folks how Sharepoint + Silverlight can play a role with one another.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2600644" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/APAC+Sharepoint/default.aspx">APAC Sharepoint</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/XAML/default.aspx">XAML</category></item><item><title>Going flex to Silverlight: The basics (easy stuff first).</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/05/10/going-flex-to-silverlight-the-basics-easy-stuff-first.aspx</link><pubDate>Thu, 10 May 2007 10:38:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2519165</guid><dc:creator>scbarnes</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/2519165.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=2519165</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=2519165</wfw:comment><description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This is going to probably annoy some, and signal mixed messages but overall the approach I am taking is to provide a context driven learning path on how to go from Adobe Flex coding to Microsoft Silverlight. I really don't want these posts to be fuel for the "&lt;em&gt;Flash Killer&lt;/em&gt;" BBQ's as that's counter-productive, it's intended to be more focused on helping folks whom are curious about Silverlight (for whatever reason they chose) and are about to embark on the ramp-up in learning about it.&lt;/p&gt; &lt;p&gt;It's important no matter what bloodline you come from to be at least aware of the basics of Silverlight, what it has to offer going forward and lastly how easy it may make life for you (depending on your project / context).&lt;/p&gt; &lt;p&gt;In light of this, I'll be doing a lot of these "&lt;strong&gt;&lt;em&gt;If only I knew&lt;/em&gt;&lt;/strong&gt;" style posts, as one thing I learnt very fast coming over to the Microsoft feeding tank was how easy life really is for the average .NET developer and Silverlight is no different.&lt;/p&gt; &lt;p&gt;Hopefully this won't be turned into a "&lt;em&gt;Flex vs Silverlight&lt;/em&gt;" piece but more of a way to empower Adobe Flex developers to gain an understanding of Silverlight through a more context driven discussion (e.g. "&lt;em&gt;You know how you do x in Flex right? well in Silverlight they do it this way&lt;/em&gt;")&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Namespaces&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Typically in MXML to load in controls within your project, you would do something along the lines of this:&lt;/p&gt; &lt;p&gt;&lt;em&gt;&amp;lt;mx:Application xmlns:appCntrls="com.mossyblog.controls.*"/&amp;gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&amp;lt;appCntrls:MyButton/&amp;gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Essentially, &lt;strong&gt;appCntrls:MyButton&lt;/strong&gt; is a pointer to a file in the &lt;strong&gt;com/mossyblog/controls/MyButton.as&lt;/strong&gt; (or mxml) but done so through tag based approach. It's actually quite useful in doing this as you're effectively creating your own XML vocab along with custom properties (attributes) and in Flex can even go further by nesting tags within tags (similar to DOM in essence)&lt;/p&gt; &lt;p&gt;Life in Silverlight is really no different, except when you make namespace declaration you're also telling the CLR where to compile the end result (DLL) , which is an interesting thing to note. As within Adobe Flex typically to do this you'd start to look into strategies around &lt;strong&gt;mx:Modules&lt;/strong&gt; or &lt;strong&gt;Runtime Shared Libraries&lt;/strong&gt;, which can be extremely powerful when used appropriately.&lt;/p&gt; &lt;p&gt;In Silverlight, to do this you simply type:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;&amp;lt;app:MainView xmlns:app="clr-namespace:com.mossyblog.controls;assembly=MyBinDir/com.mossyblog.controls.dll"&amp;gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;There's more to this, but I'll discuss this another time (i.e. what does &lt;strong&gt;Assembly&lt;/strong&gt; mean along with the specifics of &lt;strong&gt;clr-namespace&lt;/strong&gt;)&lt;/p&gt; &lt;p&gt;&lt;u&gt;Note:&lt;/u&gt; In Adobe Flex generally the xmlns (default) points to a URI path which is consistent globally (In essence this points to the framework manifest file which in turn points to the components and their respective name / path pairs within), same deal in Silverlight only it's "&lt;a title="http://schemas.microsoft.com/client/2007" href="http://schemas.microsoft.com/client/2007"&gt;http://schemas.microsoft.com/client/2007&lt;/a&gt;" which gives the compiler the core framework reference pointer locations (will expand on this in future posts).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;GEOM / Graphic&amp;nbsp;Tags.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Inside Adobe Flex your entire tag based approach to life is driven from components that have a specific purpose (Usually not so much around Assets but more so in specific Navigation/Layout/Form style controls etc). In that you would rarely ever see the tag &lt;strong&gt;&amp;lt;Line&amp;gt;&lt;/strong&gt; as what purpose would this serve in Flex? You could easily write a .AS file called &lt;em&gt;Line.as&lt;/em&gt; which inside that uses the LineTo style approach to life (i.e. render a line using the drawing API + Flash.Geom Objects). That or you would typically use bitmap assets to handle a lot of the creative elements, but overall you have a lot of possibilities in Adobe Flex to handle this but are usually kept inside the actual components themselves.&lt;/p&gt; &lt;p&gt;In Silverlight, you're using the XAML language itself and what this means is that whenever you have a vector based&amp;nbsp;asset inside your application, you in turn will see tags that outline what that "asset" is made-up off&amp;nbsp; in terms of properties and semantically marked up description (i.e. you'll hear the words brush thrown around a lot for example).&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;eg:&lt;br&gt;&lt;em&gt;&amp;lt;Line x:Name="&lt;strong&gt;HeaderTextLine&lt;/strong&gt;" Opacity="0" X1="25" Y1="62" X2="635" Y2="62" StrokeThickness="4"&amp;gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The overall point is that you're combining the drawing tag elements with&amp;nbsp;future form/layout components and default controls as they eventually come. It can be somewhat of an initial shock as coming from a Adobe Flex environment you're typically used to seeing specific tags like Accordion, Button and so on only (also custom tags like &lt;strong&gt;&lt;em&gt;&amp;lt;MyForm&amp;gt;&lt;/em&gt;&lt;/strong&gt; etc). Silverlight offers you the same approach as this, but the important piece out of all of this to understand is that with XAML all assets are marked-up in an XML format (except if you prefer to use bitmap of course).&lt;/p&gt; &lt;p&gt;Basic stuff right? (Let me know if that did not make sense).&lt;/p&gt; &lt;p&gt;However, you really don't need to be to worried about the specifics of hand-coding these tags, as Expression Blend for example takes over that burden and automagically spits this out into inline code for you (yay!). This is good thing as if you're a code nutter like me, you can wrap these pieces into composite components, which house the XAML code within (just like you'd make your own MXML component out of the Adobe Flex Framework primitives etc).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Next Post..&lt;/strong&gt; &lt;em&gt;Code-behinds and XAML&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;P.S&lt;br&gt;If there is a part of Silverlight you want me to cover in this "How to" approach, please leave comments as I'll do it! :)&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2519165" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flash/default.aspx">Flash</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Adobe/default.aspx">Adobe</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/XAML/default.aspx">XAML</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Going+Flex+to+Silverlight/default.aspx">Going Flex to Silverlight</category></item><item><title>Flex Open Source, what's changed?</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/04/27/flex-open-source-what-s-changed.aspx</link><pubDate>Fri, 27 Apr 2007 06:24:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2294603</guid><dc:creator>scbarnes</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/2294603.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=2294603</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=2294603</wfw:comment><description>&lt;p&gt;I've been getting a lot of requests for comments on this subject and I'll be brief. As I think it's a politically hot topic and I don't want to get into that level of discussion (no good can come from it).&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Flex SDK was free anyway.  &lt;li&gt;Flex compiler is now free for all to use. That being said in the past, projects like &lt;a title="http://osflash.org/swf" href="http://osflash.org/swf"&gt;http://osflash.org/swf&lt;/a&gt;&amp;nbsp;was always there? I mention this as I get what they are doing but I only see this as being a way of leaning on the community to do more for them, and to be honest, enough already :) you've asked too much as-is.  &lt;li&gt;Entry barrier for FLEX hasn't changed, people still need to scratch their heads and figure out how to go from no idea what ActionScript 3.0 / MXML is to learning the code base and then figuring out how the framework gels together. It's good but keep in perspective, the game hasn't changed just the playing field is no longer concrete, but grass (fertile growth is where I'm heading).  &lt;li&gt;Why stop at FLEX the language, I think the real room for innovation should be around Flex Builder 2.0.1 (FB) so if CFEclipse + FB were to marry, that would be some taste stuff.  &lt;li&gt;Server-side pieces are still going to be a price hurdle and I don't foresee that changing (something's got to pay the FLEX Engineers bills day in day out).&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;I think it's positive and gutsy approach by Adobe, but at the same time I'm not sure whether the community carry it forward, as they're busy still learning the individual pieces (getting better daily) but this is a long term investment and when I read posts from Adobe staffers like "&lt;a href="http://kuwamoto.org/2007/04/25/more-thoughts-on-open-source-flex-and-community/" target="_blank"&gt;Sho&lt;/a&gt;" where they say the word "hope" - I get nervous. I also think the community have done enough already, so I'm not subscribing to the approach of slapping a post-it note on the side of FLEX and say "&lt;em&gt;DIY GUI, you do better&lt;/em&gt;". (I've been wrong before so no guarantee's I'm right on this one)&lt;/p&gt; &lt;p&gt;I see both positive and negative pieces to this story, and the real pressure will be on Adobe in terms of steering the project in a direction that's universal. I think one person today said "&lt;em&gt;Once you open source a project, there is no undo&lt;/em&gt;". &lt;/p&gt; &lt;p&gt;In the spirit of MIX07 Vegas, Adobe are essentially "&lt;em&gt;Letting it ride, double or nothing&lt;/em&gt;"... (Which is just super for a few friends of mine in cubicles right now hoping to hell Flex risk they took pays off).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2294603" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Adobe/default.aspx">Adobe</category></item><item><title>Zinc vs Apollo.</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/04/25/zinc-vs-apollo.aspx</link><pubDate>Wed, 25 Apr 2007 07:16:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2267923</guid><dc:creator>scbarnes</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/2267923.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=2267923</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=2267923</wfw:comment><description>&lt;p&gt;&lt;img style="margin: 10px" src="http://www.multidmedia.com/images/header_website_v2.jpg" align="left"&gt;Jaspal Sohal (CEO) Multidmedia, a company whom own the software "Zinc" has made some official comments on where they sit against Apollo.&lt;/p&gt; &lt;p&gt;We can't be certain at this point on which of the two are better, as Apollo is still in alpha. Yet, if the race were to be called tomorrow, I must admit I'd go with Zinc simple for its features and maturity. I've used Zinc for years when it had it's former name, so I'm also probably biased.&lt;/p&gt; &lt;p&gt;You make your own decision though (personally Peps vs Coke argument mostly)&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;Apollo is a cross-OS runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML, Ajax) to build and deploy desktop RIA’s."&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Within the Flash Community, this has naturally raised questions about the impact Apollo will have on Zinc. Well, the answer to this question is actually in Adobe's own description of Apollo. Many designers and developers have been under the impression (and many still are!) that Apollo is a "SWF2EXE" tool which creates standalone Projector files in the same way that Zinc does. This is not true.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;[ &lt;a href="http://www.multidmedia.com/support/developers/articles/?action=show&amp;amp;id=33" target="_blank"&gt;Continue Reading&lt;/a&gt; ]&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2267923" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Zinc/default.aspx">Zinc</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Apollo/default.aspx">Apollo</category></item><item><title>Thanks Silverlight, you just validated RIA (Wrong, here's why)</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/04/22/thanks-silverlight-you-just-validated-ria-wrong-here-s-why.aspx</link><pubDate>Sun, 22 Apr 2007 06:06:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2225781</guid><dc:creator>scbarnes</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/2225781.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=2225781</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=2225781</wfw:comment><description>&lt;p&gt;In 2002 one of the guys ( Jeremy Allaire)&amp;nbsp;whom I owe my house &amp;amp; lifestyle to, came up with an idea that Rich Internet Applications (RIA) should exist in a certain way, with a certain direction going forward. I trusted his idea, as the last one was Coldfusion and it paid off for me so I went with it (had been using Flash prior to this so figured it wouldn't hurt).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Redsquares were evil.&lt;/strong&gt;&lt;br&gt;I spent enormous amounts of time trying to either extend Flash's V1 Framework to suite my own needs or beat it with a version of my own framework. I was vocal about it, saying how hard and annoying it was and had zero love for "mix-in" approach (Decorator pattern to all you design pattern folks). I ended up supporting &lt;a href="http://www.ghostwire.com/" target="_blank"&gt;ghostwire.com's components&lt;/a&gt; as they were more mature and decided to build on from them.&lt;/p&gt; &lt;p&gt;The running joke in my cubicle in these days was "&lt;em&gt;Barnesy, you going to upgrade to a blue circle&lt;/em&gt;" as for weeks on end, I'd have a Redsquares on my screen which represented a placeholder for code. &lt;/p&gt; &lt;p&gt;Point, I wanted RIA to succeed like the next guy, but it meant time and energy to build it.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Royale with Cheese please.&lt;/strong&gt;&lt;br&gt;Around 2003. I remember reading up on &lt;a href="http://osflash.org/deng" target="_blank"&gt;DENG&lt;/a&gt;, this idea that &lt;a href="http://wahlers.com.br/claus/blog/" target="_blank"&gt;Claus&lt;/a&gt; had where you could use Flash to read XHTML pages and it would render accordingly (as Flash had most of the primitives in place). I thought this was awesome as from there you could extend upwards and take a normal web page to the next level, so it was kind of like having a runtime within a runtime.&lt;/p&gt; &lt;p&gt;I decided to have a go at using this &lt;a href="http://web.archive.org/web/20030623143401/http://w3blog.com/?id=32" target="_blank"&gt;concept&lt;/a&gt; by reading in XML that would produce runtime applications that talked to Coldfusion. I &lt;a href="http://web.archive.org/web/20030305043352/macrofun.pvpers.com/archives/000043.html" target="_blank"&gt;posted about it&lt;/a&gt; on &lt;a href="http://web.archive.org/web/20030305043352/macrofun.pvpers.com/archives/000043.html" target="_blank"&gt;Macrofun.pvpers.com&lt;/a&gt; a blog I ran at the time. &lt;strong&gt;Libby Freligh &lt;/strong&gt;(Former Product Manager for Flex) contacted me offline and asked if I would be interested in seeing this project Macromedia was working on, called Royale.&lt;/p&gt; &lt;p&gt;They showed me FLEX and I was hooked. I loved it's concept and it was 10 times more mature then anything I could ever come up with and so I built a career from there on out around it. I wanted RIA as badly as Jeremy had painted it.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Price is what killed RIA.&lt;/strong&gt;&lt;br&gt;I got a call one day, it was missed one at that. I remember hearing the message "&lt;em&gt;Scott, we are about to release the price tag and I know you don't like it, but could you not blog about it for a while&lt;/em&gt;" (as inside the GMC List for FLEX, we were told ahead of time and I was vocal about it). My blog at this time, Mossyblog.com was one of the first generation of Flex related blogs outside Macromedia and so I guess they thought folks would read and get spooked.&lt;/p&gt; &lt;p&gt;I hated the price tag, but I felt I owed Macromedia for letting me in on the Alpha, Beta and RC stages, so I complied. I also thought if more people use it, then it has to be a good thing for me right?&lt;/p&gt; &lt;p&gt;Wrong, the uptake was painfully slow, for weeks on end I'd get no love in the FLEX space and went back to coding Coldfusion 80% of the time.&lt;/p&gt; &lt;p&gt;People wanted FLEX SWF's outside the server but were told in order to use FLEX you must house the product on the server itself. Yet everyone whom knew FLEX agreed that the server was taking up valuable CPU and caught on that it was due to price tag that kept the reason for it's existence in place.&lt;/p&gt; &lt;p&gt;They got greedy.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Flex 2.0 came out and it was free.&lt;/strong&gt;&lt;br&gt;Finally FLEX was given back to the people, the RIA movement in 2002 would move on and I even wrote an article for &lt;a href="http://mx.sys-con.com/read/142730.htm" target="_blank"&gt;MX Developers Journal celebrating this&lt;/a&gt;. I thought, this is what we need, the RIA concept will take the world by storm and life would be good.&lt;/p&gt; &lt;p&gt;Adobe acquires Macromedia was the headline in blogs and I got nervous about all of this at the same time. I didn't know what was going on with Flash anymore and so I waited patiently. In doing this, A friend told me about Microsoft's movements have gotten mature, I had already known about XAML but didn't realize how mature it had become until around this time.&lt;/p&gt; &lt;p&gt;I was thinking "why would they want to enter the RIA space" as these guys aren't built for this kind of thing, design is foreign to them.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Can't beat them, join them.&lt;/strong&gt;&lt;br&gt;I began to learn more about Microsoft, how Windows Form Development was easy to use and so on. These guys had their act together and once you got past the whole "Microsoft is evil" campaigns, you start to uncover that Microsoft has a valid offering here. If only they would use the technology in smarter ways. I caught onto WPF in its early form, and later WPF/e (Silverlight) and I started to see a picture immerge.&lt;/p&gt; &lt;p&gt;Late last year, I saw a job advert ("Developer Evangelist") and I actually thought it was Adobe, so I figured hell yeah, why not.&amp;nbsp; I got a phone call it was Microsoft, and I was shocked. I made the interviews and got the job and was sent to Seattle for chip implants.&lt;/p&gt; &lt;p&gt;I arrived and was shown around the product stacks, meet some of the brainstrust behind WPF and Silverlight, and was amazed at the level of thinking they have around the products. They got it, it's not about runtime it's about experience, going beyond the browser and doing so in as many ways as possible that reflect the developers themselves.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Good Experience (HTML/CSS/AJAX), Great Experience(Silverlight), Ultimate Experiences(WPF).&lt;/strong&gt;&lt;br&gt;These are the three tiers of emerging technology coming out of Microsoft and they are going to offer developers three channels of distribution. It's not about Flash being a killed, it's about offerings. &lt;/p&gt; &lt;p&gt;Did Microsoft come to the table late? or is Adobe just not equipped to handle Jeremy's theory? Are we competing? or did Microsoft just grow impatient with all this RIA development happening at snails pace? I don't think it's an evil plot, I just think it's Microsoft catching onto the simple fact that DHTML (AJAX) development still to this day happens in a wide variety of solutions. In order to help these web applications go beyond the browser were possible, they came up with the above three tiers of execution.&lt;/p&gt; &lt;p&gt;Adobe will do their thing and they will eventually do it well, much better than what they are doing today. I hope LiveCycle doesn't end up being the new price tag killer for the FLEX 3.0 equation and I'm seeing signs of this in Apollo (hence why I'm so vocal about it). I look back on the first days of RIA, FLEX &amp;amp; so on and ponder as to where we would all be if Flex 1.0 was given away and was integrated with Flash Professional instead of going after Enterprise aggressively as they did.&lt;/p&gt; &lt;p&gt;Microsoft are getting back to basics, empowering developers &amp;amp; designers to talk with one another through languages like XAML. Make no mistake, this isn't about validating Adobe, it's about focusing on the user experience.&lt;/p&gt; &lt;p&gt;I've been doing RIA both pre-2002 and post-2002, Jeremy put the ideas to words but i'd love an update to this RIA paper though.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2225781" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Adobe/default.aspx">Adobe</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/LiveCycle/default.aspx">LiveCycle</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/XAML/default.aspx">XAML</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/DHTML/default.aspx">DHTML</category></item><item><title>2004 FLEX 1.0 compared to 2007 FLEX 2.0.1 you be the judge.</title><link>http://blogs.msdn.com/msmossyblog/archive/2007/04/21/2004-flex-1-0-compared-to-2007-flex-2-0-1-you-be-the-judge.aspx</link><pubDate>Sat, 21 Apr 2007 06:45:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2216071</guid><dc:creator>scbarnes</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/msmossyblog/comments/2216071.aspx</comments><wfw:commentRss>http://blogs.msdn.com/msmossyblog/commentrss.aspx?PostID=2216071</wfw:commentRss><wfw:comment>http://blogs.msdn.com/msmossyblog/rsscomments.aspx?PostID=2216071</wfw:comment><description>&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This is Scott Barnes, talking clocked off the Microsoft pay roll (weekend&amp;nbsp;now)&amp;nbsp;and in talking about my hobby development in Adobe Flex (yes I do still use it and mentor other Flex Developers with my experience in it - so can we suspend the Microsoft is evil thing heh).&lt;/p&gt; &lt;p&gt;I was discussing earlier today Flex 2.0.1 questions and where I think the future of Adobe would head towards and why I think at times, they have a really fantastic product range but get caught up in Price issues.&lt;/p&gt; &lt;p&gt;At any rate, I went through some archives of my previous blog (&lt;a href="http://www.mossyblog.com"&gt;www.mossyblog.com&lt;/a&gt;) and remembered in 2004 I did a rant on why "&lt;em&gt;FLEX Hurts&lt;/em&gt;", here's the thing - it's still kind of true today (price is cheaper in some parts, but pieces are still here today).&lt;/p&gt; &lt;p&gt;This isn't a "anti-Adobe" post, it's more of a reflection on where we have come from, in order to know where we are going and if you read the posts and you're sitting back going "Yeah, that's still here today" then I'd recommend you do something about it and voice your opinion, as it's now 2007.&lt;/p&gt; &lt;li&gt;&lt;a href="http://www.mossyblog.com/archives/239.cfm"&gt;FLEX :: Part 5 - HALO, SKINS, WHAT THE…&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.mossyblog.com/archives/238.cfm"&gt;FLEX :: Part 4 - Usability problems, a thing of the past.&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.mossyblog.com/archives/237.cfm"&gt;FLEX :: Part 3 - Language no longer a barrier.&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.mossyblog.com/archives/236.cfm"&gt;FLEX :: Part 2 - Rapid Development!&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.mossyblog.com/archives/235.cfm"&gt;FLEX :: Part 1 - The hidden costs!&lt;/a&gt;&lt;/li&gt; &lt;p&gt;I compare my experiences from FLEX 1.0 days to now and I have to admit, there is still some existing ones around while others are fixed (yay!)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2216071" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Flex/default.aspx">Flex</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Adobe/default.aspx">Adobe</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/msmossyblog/archive/tags/History/default.aspx">History</category></item></channel></rss>