<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.9.2 (http://www.squarespace.com/) on Thu, 11 Mar 2010 09:18:33 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Flex</title><subtitle>Flex</subtitle><id>http://www.sweerisat.com/flex/</id><link rel="alternate" type="application/xhtml+xml" href="http://www.sweerisat.com/flex/"/><link rel="self" type="application/atom+xml" href="http://www.sweerisat.com/flex/atom.xml"/><updated>2008-03-20T12:20:58Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.9.2 (http://www.squarespace.com/)">Squarespace</generator><entry><title>What Does it Take to Be a Good RIA Platform?</title><id>http://www.sweerisat.com/flex/2008/3/20/what-does-it-take-to-be-a-good-ria-platform.html</id><link rel="alternate" type="text/html" href="http://www.sweerisat.com/flex/2008/3/20/what-does-it-take-to-be-a-good-ria-platform.html"/><author><name>Sweerisat Folk</name></author><published>2008-03-20T12:17:23Z</published><updated>2008-03-20T12:17:23Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Yesterday, I had a very interesting <a class="offsite-link-inline" target="_blank" href="http://www.thewayithink.co.uk/post/Why-Silverlight-is-nailing-Flex.aspx">blog debate</a> with a guy named Martin Beeby. He was arguing that Silverlight would eventually crush Flex because Adobe is building its community on Flash developers, who are in fact designers. Of course I couldn&rsquo;t help demonstrating to him that he was wrong, because Adobe is obviously not trying to transform Flash designers into Flex developers, and is actually trying to add developers to its already existing designer community. But ultimately he made an interesting statement: according to him, RIA&rsquo;s require both developers and designers, and both Microsoft and Adobe are trying to convince the ones they don&rsquo;t already have in their community.</p> <p>I had never thought of it that way. As a matter of fact, if you have a look at most Flex apps available out there, rare are those who use the default theme provided by the Flex SDK. In fact, Flex apps are so easy to customize using themes and stylesheets, that it&rsquo;s perfectly understandable. Adobe is even pushing us in that direction with tools like Thermo or Flash Component Kit.</p> <p align="center" style="text-align: center;"><img style="margin: 10px; width: 391px; height: 293px;" src="http://wwwimages.adobe.com/labs.adobe.com/cdn/wiki/images/1/14/ThermoA.png" alt="Adobe Thermo" /></p> <p>But do we really need that level of customization? In fact, in enterprise applications, this themeing mania can even do more harm than good, unless you use a standard <a class="offsite-link-inline" target="_blank" href="http://weblogs.macromedia.com/mc/archives/WindowsXPthemeDemo.htm">WindowsXP-like theme</a>, because they don&rsquo;t want fancy stuff, they just want transparent software.</p> <p>He used another argument in favor of Silverlight, the fact that it&rsquo;s generating more buzz lately. With showcase applications like <a class="offsite-link-inline" target="_blank" href="http://en.beijing2008.cn/">Beijing Olympic games website</a>, or <a class="offsite-link-inline" target="_blank" href="http://o.aolcdn.com/cdn.webmail.aol.com/riamail/landing-mix08.html">the new AOL Mail interface</a>, Silverlight is definitely trying to draw the attention on itself. Is it working? Hard to say.</p> <p>But all of this debate made me think about what makes a good RIA platform. Here is my list:</p> <ul><li><strong>the runtime has to be as widespread and portable as possible</strong>: on that point Flex is clearly ahead with its 95%-ish penetration rate, but the Flash runtime still suffers from a bad reputation in IT departments. On the other hand, Silverlight is still far behind but it has a tremendous advantage: Windows Update.</li><li><strong>behind the fancy stuff, the code has to be simple, clean and state-of-the-art</strong>: that&rsquo;s one of the main reasons why I love Flex, the ActionScript/MXML combination is just perfect, and it doesn&rsquo;t even require any framework. I don&rsquo;t know anything about Silverlight code, so I will probably have a look at some tutorials before commenting on that.</li><li><strong>it has to be supported by a wide variety of development tools</strong>: <a class="offsite-link-inline" target="_blank" href="http://www.adobe.com/products/flex/">Flex Builder</a> is great but it&rsquo;s still quite expensive, especially when you&rsquo;re not using Eclipse at all and it forces you to run two development environments side-by-side. Fortunately, IntelliJ Idea <a class="offsite-link-inline" target="_blank" href="http://www.jetbrains.com/idea/features/javascript_editor.html#flex">has added support for Flex 3</a> and it&rsquo;s becoming great. The last thing it misses is a visual designer. But given their experience with their Swing designer, I&rsquo;m certain they are working on something (I hope so!). And all of that is possible thanks to <a class="offsite-link-inline" target="_blank" href="http://opensource.adobe.com/">the openness of the platform</a>. On the other side, Silverlight is supported mainly by Visual Studio, and I haven&rsquo;t heard of any openness effort that would allow other .Net development tools to support it.</li><li><strong>RIA is all about the presentation layer, so it has to be connected to some backend to be useful, and the more backends it supports the better</strong>: Flex is really ahead on that one, since it can be plugged on Coldfusion, J2EE, .Net, PHP, Python, Ruby and virtually any platform via its webservice connectivity. But what makes it really powerful now is the extension of Java support thanks to <a class="offsite-link-inline" target="_blank" href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS">BlazeDS</a>. And apparently, Silverlight doesn&rsquo;t have an equivalent communication protocol.</li><li><strong>it has to be deployable on any platform</strong>: Flex just produces plain SWF Flash applications, so it doesn&rsquo;t require any server-side technology. A plain Apache httpd server is enough. I don&rsquo;t know what are the requirements of Silverlight on that matter.</li></ul> <p>Now what do YOU think? Do you see anything to be added to the above list? What are your criteria? Have you already had to make a choice and justify it?</p>]]></content></entry><entry><title>Top 10 Flex Misconceptions</title><id>http://www.sweerisat.com/flex/2008/3/13/top-10-flex-misconceptions.html</id><link rel="alternate" type="text/html" href="http://www.sweerisat.com/flex/2008/3/13/top-10-flex-misconceptions.html"/><author><name>Sweerisat Folk</name></author><published>2008-03-13T21:58:00Z</published><updated>2008-03-13T21:58:00Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Are you a victim? 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			<p>At QCon, Adobe's <a href="http://www.jamesward.org/wordpress/">James Ward</a> shared with InfoQ.com the top Adobe Flex misconceptions that he encounters in his travels evangelizing the Flex application framework. </p><ol><li><strong>Users Need to Install Something New to Run Flex Applications.</strong> <br />Ward, exclusive to InfoQ.com, discusses the Flash adoption rates and Flex programming model: <blockquote>Flash Player 9 is required for Flex 2 &amp; Flex 3. The Flash Player 9 runtime is currently installed on 94% of the world's computers. <br />Flex 2 and Flex 3 applications execute in the Flash Player 9. Flex applications are built on top of the native Flash Player APIs like vector graphics, bitmap manipulation, and networking (which are based on the browser networking stack). The Flex framework adds reusable components like date pickers, data grids, charts, etc. Compiling a Flex application results in a SWF file which is the binary byte code format for the Flash Player. Contained in the SWF file is the byte code for the Flex framework code and a project's custom code. The Flex compiler optimizes the byte code so that only classes which are used go into the SWF file. <br />For desktop applications, Adobe is aiming to make their new desktop runtime, dubbed Adobe AIR, as ubiquitous as the web runtime. The 1.0 release of Adobe AIR will be available in the beginning of 2008. Currently, AIR is in beta release from labs.adobe.com. Many companies are already building production applications on AIR. One example, can be seen with eBay's application <a href="http://desktop.ebay.com/">eBay Desktop.</a> </blockquote></li><li><strong>Flash Player is 100% Proprietary.</strong> <br />Ward continued on this item for InfoQ.com: <blockquote>The core of Flash Player is the Tamarin Virtual Machine, which is an open source project under Mozilla. While the SWF file format is not fully open, it is documented by the community on osflash.org. There are numerous open source products that read and write SWF files. The Flash Player's product direction has traditionally been heavily influenced by the community and their needs. The core language for Flash Player is an implementation of ECMAScript 262, which is the specification for JavaScript. Flex also uses CSS for styling of components / applications. Adobe AIR uses web standards as the basis for desktop applications as well as Open Source technologies like Tamarin, Webkit, and SQLite.<br /></blockquote></li><li><strong>Flash is for Designers, Video, and Annoyances.</strong> <br />In Ward&rsquo;s July, 2007 blog, <a href="http://www.jamesward.org/wordpress/2007/02/21/how-i-overcame-my-fear-of-flash/">&ldquo;How I Overcame My Fear of Flash,&rdquo;</a> he discussed this point: <blockquote>Indisputably, the power of Flash has been abused. Pop-ups, pop-overs, skip intros and annoying ads run rampant across our screens. I've heard it said that one should never judge a religion by its abuse. The same adage applies to technology. Flash shouldn't be avoided just because people use it for annoying things. After all, e-mail isn't avoided just because spammers happen to abuse it. </blockquote>Ward elaborated on the topic for InfoQ.com: <blockquote>Traditionally Flash content was built with the timeline based tool for designers. Flex is the developer toolset for building Flash based content / applications. Designers and developers can work together by sharing assets between the two tools. Flex adds a comprehensive component base: <br /><a href="http://www.adobe.com/go/flex_explorer_app">http://www.adobe.com/go/flex_explorer_app</a> <br /><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=15&loc=en_us">http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&amp;exc=15&amp;loc=en_us</a> </blockquote></li><li><strong>Flex is Not for Enterprise / Business Applications.</strong> <br />Over the last few weeks, Ward published a <a href="http://www.jamesward.org/wordpress/category/oracle/">seven part blog series on a number of new Oracle applications implemented in Adobe Flex.</a> The applications, which were announced at the recent Oracle OpenWorld, ranged from sales tools, to database management, and business intelligence. <br />In addition to Oracle&rsquo;s usage of Flex, <a href="http://www.infoq.com/news/2007/10/who-is-using-flex;jsessionid=A756A90EB6F47913FECE6B8986499245">InfoQ.com published a piece recapping a number of groups using Flex for enterprise applications.</a> Ward also points out to InfoQ.com, that there are numerous examples of enterprise applications being developed with Adobe Flex, including work at: Workday, SAP, Salesforce, and Business Objects. <br /></li><li><strong>Flex is Expensive.</strong> <br />Ward detailed a number of things Adobe has done to address the cost concerns: <blockquote>Flex is a free, and soon to be open sourced, developer toolkit for building Rich Internet Applications for the web and the desktop. This free SDK includes everything a developer needs to build RIAs that work the same on any browser or operating system. Part of the free Flex SDK is an extensive set of components which are extensible, skinable, and accessible. You can see many of these components in the Flex Component Explorer: http://www.adobe.com/devnet/flex/samples/code_explorer/ <br />Flex Builder is an optional plugin for Eclipse which makes developing applications with the free Flex SDK more efficient. It includes features like integrated debugging, design view, and code completion. <br />The Flex Builder pricing has changed in quite a few ways recently. Flex Builder is now free for Students and Faculty. The price for the vanilla Flex Builder, without the charting components, has been reduced to $249 to better balance the tiered pricing for Flex Builder. <br />There are a number of options for building backend infrastructure for Flex Applications. To take advantage of the high performance AMF data transfer protocol, there are official Adobe products like LiveCycle Data Services, as well as numerous open source projects like Granite Data Services. Using AMF removes the unnecessary steps of converting data to text (SOAP, RESTful, etc), transferring it, and then converting it back to data. AMF also allows type information to be preserved across the wire.</blockquote>To see a comparison of AMF to other text based serialization technologies, see James Ward's Census RIA Benchmark application: <a href="http://www.jamesward.org/census">http://www.jamesward.org/census</a> </li><br /><li><strong>Flex Applications Require a Special Server.</strong> <br />Once again, Ward speaking with InfoQ.com: <blockquote>Flex applications can run on top of any web server, application server, and database server. Flex applications are much more like client-server applications. Since the logic is running on the client inside the Flash Player, you need some way of communicating with the server. There are many different options for how you connect Flex to your infrastructure. Without any special libraries, you can expose your back-end data and services as RESTful, XML, or SOAP and easily consume that data in your Flex application. If you choose to use the AMF binary serialization protocol, you may need to add some additional libraries into your web application. AMF is just another serialization technology, like XML or JSON, so it can be one of the various methods you use to communicate to your back-end SOA. </blockquote></li><li><strong>Flex is Hard to Learn.</strong> <br />Leftie Friele, from the InfoQ.com community, posted a comment on the <a href="http://www.infoq.com/news/2007/10/who-is-using-flex;jsessionid=A756A90EB6F47913FECE6B8986499245">InfoQ.com piece &ldquo;Who is Using Flex?&rdquo;,</a> detailing his company&rsquo;s experience in learning Flex: <blockquote>Our startup company, Ezmo, have used Flex since the start and we're extremely happy with the framework. <br />Without any prior knowledge of Flex/Flash, we built our application in less than two weeks. The integration between Java and Flex is super simple, and getting started with Flex is just a walk in the park. <br />The tool support is very good too with Flex Builder. You get the familiar surroundings of Eclipse and you are off and running without many problems. The one thing that is missing is better tools for continuous integration and better plugins into Maven for building Flex applications. </blockquote>For those new to Flex, <a href="http://www.jamesward.org/wordpress/2006/11/14/screencast-watch-a-flex-app-built-in-11-minutes/">Ward has a Screencast showing a Flex application being built</a> to help get you started. There are also numerous other articles about using Flex and Java in the <a href="http://www.adobe.com/devnet/flex/flex_java.html">Adobe Developer Connection.</a> <br /></li><li><strong>With Flex, I Will Need to Rebuild My Entire Application.</strong> <br />In January, Bruce Eckel published an article titled, <a href="http://www.artima.com/weblogs/viewpost.jsp?thread=193593">&ldquo;Hybridizing Java.&rdquo;</a> He argues that the Java community should continue using the good parts of Java, but should use other technologies where Java is weak. His primary focus in the article is using Adobe Flex for user interfaces, instead of the traditional Java options (Swing, JSF, etc&hellip;). <br />Ward elaborates on this concept: <blockquote>Since Flex applications are just the UI piece of an application the back-end usually stays the same. If your back-end was built following the SOA pattern then it is usually very easy to expose those services out to a new Flex UI. This preserves your existing business logic whether it is in EJBs, Spring services, POJOs, etc. </blockquote></li><li><strong>Flex Breaks Normal Browser Functionality, Like the Back Button.</strong> <br />Ward&rsquo;s <a href="http://www.jamesward.org/wordpress/2007/02/21/how-i-overcame-my-fear-of-flash/">blog discusses the back button:</a> <blockquote>In Flex, back button support is built in and easily customizable so this was never an issue. Flex also provides an easy way to do hashmark urls (or named anchors), so the url changes as application state changes. Another Web 1.0 integration problem solved. </blockquote>Ward adds more details for InfoQ.com: <blockquote>Flex 3 provides a simple way for applications to store state parameters in a named anchor and correctly restore state based on those parameters when the URL is requested. More information about this feature can be found in the <a href="http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions#Deep_Linking">Flex 3 Feature Introductions Deep Linking documentation.</a> <br />Accessibility has always been very important for Flex applications. Since the Flash Player works with Jaws and other accessibility technologies, the capability for adding accessibility to Flash based applications is there. The Flex framework builds accessibility into the core framework. There are many different pieces of accessibility depending on what impairments and disabilities your application needs to support. You can find out more about the accessibility features of Flex in the <a href="http://livedocs.adobe.com/labs/flex/3/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=accessible_046_01.html">Developer's Guide.</a> </blockquote></li><li><strong>I Can Do Everything Flex Does With Ajax.</strong> <br />Ward explains: <blockquote>RIA with Flex and Ajax is not either/or. Sites like <a href="http://finance.google.com/finance?q=goog&hl=en">Google Finance</a> show how you can use Flex and Ajax together. Ajax is very good for content-centric applications, while Flex is very good for interactive, media, and data-centric applications. If your application is somewhere in between the two sides of that spectrum, then you can use the Flex Ajax Bridge to combine the two technologies. In Flex 3, the Flex Ajax Bridge is integrated directly into the SDK. If you are using Flex 2, you will need to download the Flex Ajax Bridge separately. </blockquote>Also, from the InfoQ.com community, Michael Marth commented on why his group chose Flex: <blockquote>We use Flex 2 for our soon-to-launch online dating site viibee.com <br />The reason: Flex enabled us to create a user experience far beyond anything that we could have done with a comparable effort in Javascript/Ajax. </blockquote></li></ol>For those of you in the InfoQ.com community, are these misconceptions you have held about the Adobe Flex framework? Are there additional barriers that Adobe has yet to address, which are keeping you from using the Flex application framework? <p> 			Posted by admin at 10:20 AM | <a href="http://www.swfflex.com/blog/1/2008/01/Top-10-Flex-Misconceptions.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2008/01/Top-10-Flex-Misconceptions.cfm#comments">0 comments</a> 			 		</p> 		 			07 January 2008 		 	 		 <a href="http://www.swfflex.com/blog/1/2008/01/Save-The-Date.cfm">Save The Date!</a> 		 Flex 3 Pre-Release Tour Coming to Florida 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			<p>This is just an announcement to save the date for January 21st, 2008! </p><p>The Adobe Developers of Greater Orlando (Adogo) user group has been selected as a stop on Adobe's Flex 3 Pre-release Tour. They're fortunate enough to have Ben Forta, Adobe's Senior Technical Evangelist, speaking to the group for this leg of the tour. The meeting will be held on January 21st, 2008 @ 7:00 PM in the Oleander Room at Westgate Lakes Resort and Spa (located at 10000 Turkey Lake Road, Orlando , FL 32819, parking at The Smokehouse). They'll be giving away a copy of Flex 3 and CS3 Web Premium, a pass to CFUnited 2008, as well as lots of branded schwag from Adobe and CFUnited. Food and drink will be provided to all in attendance while it lasts. This is the ONLY Florida stop for the tour, so be sure to attend.</p><p>Registration for this event is available at <a href="http://adogo200801.eventbrite.com/">http://adogo200801.eventbrite.com/</a> Additionally, more information can also be found on the Adogo website at <a href="http://adogo.us/">http://adogo.us.</a><br />Hope to see everyone there.</p> 		 		<p> 			Posted by admin at 7:31 AM | <a href="http://www.swfflex.com/blog/1/2008/01/Save-The-Date.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2008/01/Save-The-Date.cfm#comments">1 comment</a> 			 		</p> 		 			26 October 2007 		 	 		 <a href="http://www.swfflex.com/blog/1/2007/10/Flex-Video-Conference.cfm">Flex Video Conference</a> 		 The Camera class with Flash Media Server 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=24941655-15C5-E1E2-3EDD45C30FF327DC">Flash Media Server</a> 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			<p><a target="_blank" href="http://www.mydattoli.com/test/DCCVideoConference/main.html"><img alt="Flex Video Conference" src="http://www.swfflex.com/blog/1/custom/webConference.jpg" /></a>In my quest for a video email application, I was interested in experimenting with the Flash Camera and Microphone classes, and so with a little help from <a target="_blank" href="http://www.renaun.com/blog/">Renaun Erickson</a>, I devised a little video conference app where you and 9 of your friends can have a video chit-chat conference complete with audio using the Flash Media Server as the central connecting point. The Camera class in Flex is so easy to use, it's not even funny...Once you have the NetStream setup, it's just a matter of calling Camera.getCamera() constuctor and attaching the camera to the NetStream. The same holds true for the Microphone class, and you can even set NetStream's attachAudio method to mute individual streams on the fly. I have posted a sample app with source code <a target="_blank" href="http://www.mydattoli.com/test/DCCVideoConference/main.html">here</a>. I also modified Renaun's original example and replaced the Panel with the SuperPanel so now each user can move individual conference attendees around within the browser. I'd like to see <a target="_blank" href="http://www.dougmccune.com/blog/">Doug McCune</a> implement this with a version of <a target="_blank" href="http://www.tileui.com/">TileUI</a>, so you can start throwing people around the screen mid-conference. <img title="Laughing" alt="Laughing" src="http://www.swfflex.com/blog/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif" /></p> 		 		<p> 			Posted by admin at 9:16 AM | <a href="http://www.swfflex.com/blog/1/2007/10/Flex-Video-Conference.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2007/10/Flex-Video-Conference.cfm#comments">5 comments</a> 			 		</p> 		 			22 October 2007 		 	 		 <a href="http://www.swfflex.com/blog/1/2007/10/Abobe-unveils-Thermo.cfm">Abobe unveils Thermo</a> 		 and other experiments 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			<p><img title="Thermo" alt="Thermo" src="http://www.swfflex.com/blog/1/custom/ThermoIcon.png" style="margin-left: 5px; margin-right: 5px;" />If you know Flex, then you&rsquo;ve heard of <a target="_blank" href="http://quietlyscheming.com/blog/">Ely Greenfield</a>. He is the charting master, and a member of the Flex engineering team. Recently for MAX 2007 in Barcelona, Ely gave a &ldquo;Flex Roadmap&rdquo; presentation, <a target="_blank" href="http://www.onflexwithcf.org/index.cfm/2007/10/19/Flex-Roadmap-presented-by-Ely-Greenfield--Videos">see it here</a>, and talked about several new experiments Adobe is considering for the Flex product. The first thing is the Flex designer application code-named &ldquo;Thermo&rdquo;. This app is aimed at designers and will give you a visual approach to creating Flex apps much more than design view does now. Think of it as Fireworks in Flex&hellip;You as the designer just draw out the layout, and Thermo will generate all the MXML code for you. In addition to Thermo, Ely goes on to talk about some of the experiments they are doing with the Flex framework, and re-thinking the way components are made and interact with each other. Ely talks about for example taking a step back and saying even though we already have these 7000 lines of code that make up the base List component (with all its layout, scrollbars, and button states) what really IS the core function of a List? Its core function is to show an Array of data, all the other stuff like layout, scrollbars, etc is just extra crap that has nothing to with the core function of a list, so this should be handled some where else through the use of visual extensions, and CSS states. This way, there is sort of an MVC kind of architecture going on within the components themselves. Leaving the developer to extend multiple facets of each component in ways that are difficult to do now. It&rsquo;s kind if hard to explain here, but if you watch the videos it will become clear. As well as that, another thing Ely reveals is a new MXML Graphics engine for Flex, where we can now draw primitive shapes right in MXML. Keep in mind though that all of the examples Ely give come with the disclaimer (that he makes several times) that everything you see may or may not ever make into a release, the roadmap looks promising and very exciting if Adobe does go this route. I say, l et&rsquo;s just skip 3.0 and go straight to 4.</p> 		 		<p> 			Posted by admin at 9:09 AM | <a href="http://www.swfflex.com/blog/1/2007/10/Abobe-unveils-Thermo.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2007/10/Abobe-unveils-Thermo.cfm#comments">0 comments</a> 			 		</p> 		 			02 October 2007 		 	 		 <a href="http://www.swfflex.com/blog/1/2007/10/Drag--Drop-Flex-MyTube.cfm">Drag &amp; Drop Flex MyTube</a> 		 Streaming video with Flash Media Server 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=24941655-15C5-E1E2-3EDD45C30FF327DC">Flash Media Server</a> 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			 <a target="_blank" href="http://www.mydattoli.com/videolibrary/main.html"><img alt="Flex MyTube Video Application" src="http://www.swfflex.com/blog/1/custom/videoapp_screenshot.jpg" /></a> <br />Recently I was shown a video email application that would send email recipients a link to a video email message. The idea was cool, but raised concerns for my healthcare practice due to the new privacy laws (HIPPA) and the app being hosted on third party servers. So I figured I would try to build a similar app using Flex and hosting it internally...This way there would be no privacy issues. Before going full bore on a video email app, I thought I might get my feet wet building a simple streaming video library using <a target="_blank" href="http://www.adobe.com/products/flashmediaserver/">Flash Media Server</a> to see how it performed. The video files I have on hand are about 30 minutes in length, shot in <a id="snap_com_shot_engage_span_0">HDV</a> Inexpensive-High-Definition-Video Dec-07 <img id="snap_com_shot_engage_icon_0" />, and edited in Sony Vegas. This produces, when fully rendered as NTSC (720x480), about a 2GB MPEG file. So, step one was to get some working FLV files that I could test. I needed to batch upload to FMS (Flash Media Server) and transcode the MPEG's (or any other file for that matter) to the FLV format on the fly. I found a command line tool called <a target="_blank" href="http://ffmpeg.mplayerhq.hu/">FFMPEG</a> that does this with great speed, and also captures a still frame from the file that you can use as the thumbnail preview. Sweet...this tool is a must! More on FFMPEG in a later post. I also needed to create a standard SQL database table to hold additional info about each of the videos, like description, title, duration etc. (FLV's can be injected with Metadata for some of these fields, but its limited), and I created a CFC that will query the database and return all recordsets to the Flex app upon initialize. Okay, boring part finished, now onto the Flex front-end and FMS. So my thoughts were to have a single interface, where users could browse the preview thumbnails, and watch a video at the same time. I went with draggable previews that drop onto the main player, and the video starts playing. Easy and intuitive, and you can just page through the rest of the recordset while the video play, while tooltips on the previews provide the user with a video description and duration. Flash Media Server, to my surprise, is such a breeze as well. Just install FMS, create your app directory structure, upload the FLV's into the &quot;streams/_definst_&quot; folder, and feed your Flex app the source paths of the FLV's using the rtmp protocol. It all just works, and the videos stream in! <br />I have posted an early example of the app <a target="_blank" href="http://www.mydattoli.com/test/main.html">HERE</a> which includes source code. (Right-click for the source code) Flash Media Server is for sure the way to go if you want true streaming, video copy protection, and an easy way to deliver lengthy presentations. Way to go Adobe for making it so easy for us! <p> 			Posted by admin at 9:00 AM | <a href="http://www.swfflex.com/blog/1/2007/10/Drag--Drop-Flex-MyTube.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2007/10/Drag--Drop-Flex-MyTube.cfm#comments">0 comments</a> 			 		</p> 		 			01 October 2007 		 	 		 <a href="http://www.swfflex.com/blog/1/2007/10/Adobe-releases-Flex-Beta-2-today.cfm">Adobe releases Flex Beta 2 today</a> 		 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			<p>Just announced on <a href="http://labs.adobe.com/">labs.adobe.com</a> today that Flex Builder 3 Beta 2 is available, as well as several skinning add-ons for other CS3 design platforms. Awesome news!</p> 		 		<p> 			Posted by admin at 8:55 AM | <a href="http://www.swfflex.com/blog/1/2007/10/Adobe-releases-Flex-Beta-2-today.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2007/10/Adobe-releases-Flex-Beta-2-today.cfm#comments">0 comments</a> 			 		</p> 		 			24 September 2007 		 	 		 <a href="http://www.swfflex.com/blog/1/2007/09/Scale-9-On-Time.cfm">Scale 9 &quot;On Time&quot;</a> 		 Reduce stying time and up production value 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			<p>So, a few months back I went to the <a target="_blank" href="http://www.360conferences.com/360flex/">360|Flex</a> conference in Seattle, and met someone name Juan Sanchez who runs a little site called <a target="_blank" href="http://www.scalenine.com/">Scale 9</a>. This site is a collection of Flex and AIR themes that you can incorporate into your own Flex and AIR apps. <br /></p> <img src="http://www.swfflex.com/blog/1/custom/s9_themes2.jpg" /><br /> Each theme is a collection of skins and CSS stylesheets that really up's the production value of your app's components and the entire project itself. I was able to skin an entire app to the Windows Vista theme in less than 10 minutes. Wow! What a great timesaver, and the look is totally cool and professional. Big thanks go out to Juan for such an awesome site which by the way is chocked full of Flex and RIA resources. Please show Juan some love and visit and support his site.<br /> <a target="_blank" href="http://www.scalenine.com/"><img alt="www.scalenine.com" src="http://www.swfflex.com/blog/1/custom/scalenine.jpg" /></a> 		 		<p> 			Posted by admin at 12:00 AM | <a href="http://www.swfflex.com/blog/1/2007/09/Scale-9-On-Time.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2007/09/Scale-9-On-Time.cfm#comments">0 comments</a> 			 		</p> 		 			31 August 2007 		 	 		 <a href="http://www.swfflex.com/blog/1/2007/08/Active-Directory-Users-CFC.cfm">Active Directory Users CFC</a> 		 Pull user info out of Active Directory for Flex 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B25-15C5-E1E2-3EB5582C5871828F">Active Directory</a> 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B44-15C5-E1E2-3EAEBC520F504A58"> ColdFusion</a> 			<p>So I have been working on a project for creating a Company Directory in Flex and wanted to pull the data about employees out of Microsoft's Active Directory. I chose AD because this seems to be the most up to date info about employees and their status as employees. Some employee databases don't get updated right away when someone get hired/fired, but AD sure does due to it's security model on the network. People need to login on their first day, and Managers want them locked out on their last.<br /> <br /> Upon doing some research a few years ago on this subject I saw that ColdFusion had an LDAP tag built-in and could query AD relatively easily. I decided to once again go this route and create a CFC that would query Active Directory, and Flex could just call using Remote Object.<br /> <br /> Some of the challenges with using AD is that I wanted it to be easy for Admins to populate AD the way they've always done it and feel most comfortable. This means using the Active Directory Users and Computers dialog forms within Windows. The problem here is that not every field I wanted, even though it may be in Active Directory, is available within the dialog forms. Some of the workarounds I came up with was to populate the un-used fields that already exist in the dialog but use them for other purposes. For example on the General tab there is a field called &quot;Web Page&quot;...so no one at this company has their own webpage,and this is usually just left blank. I decided to put the employee photo filename here, and have Flex work it out to pull the image directly from the server using this information. Also, DOB is not included in any of the forms, so I had to add this to the Notes field and preceed it with &quot;DOB:&quot; and let Flex parse it out and convert it to a date.<br /> <br /> Despite the shortcomings of Microsoft, this CFC and Flex does a really good job at getting this info and it's really fast! I think the ultimate in customization would be to have a Flex Users admin screen where we can just populate AD directly and add in any custom fields we want into AD, including a raw ByteArray field for images.<br /> <br /> </p> &lt;cfcomponent extends=&quot;Service&quot;&gt;<br /> <br /> &lt;cffunction name=&quot;getEmployees&quot; access=&quot;remote&quot; returntype=&quot;query&quot;&gt;<br /> &lt;!---This function will bomb in Flex if the defaults below are not set properly---&gt; <br /> <br /> &lt;!---************CHANGE DEFUALTS BELOW**************---&gt;<br /> &lt;!---Replace with your Domian name---&gt;<br /> &lt;cfparam name=&quot;domain&quot; default=&quot;YOUR_DOMAIN&quot;&gt;<br /> &lt;!---Replace with your Domian Controller name---&gt;<br /> &lt;cfparam name=&quot;server&quot; default=&quot;YOUR_ACTIVE_DIRECTORY_SERVER_NAME&quot;&gt;<br /> &lt;!---Replace with an Administrative AD account---&gt; <br /> &lt;cfparam name=&quot;username&quot; default=&quot;Administrator&quot;&gt;<br /> &lt;!---Replace with account password ---&gt;<br /> &lt;cfparam name=&quot;password&quot; default=&quot;ADMINPASSWORD&quot;&gt;<br /> &lt;!---Replace with your specific LDAP port number if different from MS default---&gt;<br /> &lt;cfparam name=&quot;port&quot; default=&quot;389&quot;&gt;<br /> &lt;!---************END OF DEFAULTS***See Below for more options---&gt;<br /> <br /> &lt;!---OK, Ready?...Try to get employee data from Active Directory---&gt;<br /> &lt;cftry&gt;<br /> &lt;cfldap action=&quot;QUERY&quot;<br /> name=&quot;ldapquery&quot;<br /> &lt;!--- Most popular fields pulled from AD Users you can add more if you wish. View AD schema with any LDAP viewer ---&gt;<br /> attributes=&quot;sn,givenname,initials,title,department,company,ipPhone,telephoneNumber,mail,physicalDeliveryOfficeName,wwwhomepage&quot; <br /> &lt;!---Look in Users containter only, Bitch---&gt;<br /> start=&quot;cn=users,dc=#domain#&quot;<br />&lt;!---Used to filter AD...looks at &quot;Office&quot; field in AD Users (physicalDeliveryOfficeName) and pulls record if populated with &quot;DCC&quot; Change as nessesary. userAccountControl makes sure to only select users who are NOT(!) disabled in AD. Looks crazy, but we're talking Microsoft here---&gt; <br /> filter=&quot;(&amp;(objectclass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)) (physicalDeliveryOfficeName=DCC))&quot; <br /> sort=&quot;givenname&quot; &lt;!--- Sort records by First Name. Change fields as nessesary or comment out for &quot;random&quot; results---&gt;<br /> server=&quot;#sever#.#domain#&quot; <br /> port=&quot;#port#&quot;<br /> username=&quot;#domain#/#username#&quot; <br /> password=&quot;#password#&quot;&gt; <br /> <br /> &lt;cfcatch type=&quot;any&quot;&gt; &lt;!---If LDAP query fails for any reason...execute this and return 0 records.---&gt;<br /> &lt;cfset UserSearch = &quot;Failed&quot;&gt;<br /> &lt;cfset ldapquery.RecordCount = 0&gt;<br /> &lt;/cfcatch&gt;<br /> &lt;/cftry&gt;<br /> <br /> &lt;cfreturn ldapquery&gt; &lt;!---Return data back to Actionscript---&gt;<br /> <br /> &lt;/cffunction&gt; <br /> &lt;/cfcomponent&gt;<br /> <br /> <p>-Christopher C. Keeler<br /> </p> 		 		<p> 			Posted by admin at 10:54 AM | <a href="http://www.swfflex.com/blog/1/2007/08/Active-Directory-Users-CFC.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2007/08/Active-Directory-Users-CFC.cfm#comments">0 comments</a> 			 		</p> 		 			22 August 2007 		 	 		 <a href="http://www.swfflex.com/blog/1/2007/08/360Flex-in-Seattle.cfm">360|Flex in Seattle</a> 		 A gathering of all things Flex 			Categories: 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=8F3B97A9-15C5-E1E2-3E813A5286A56CF4">360 Flex</a> 			 			<a href="http://www.swfflex.com/blog/index.cfm?mode=cat&category_id=BCA18B35-15C5-E1E2-3EA47603F2774059"> Flex</a> 			 <table cellspacing="1" cellpadding="5" summary=""> <tbody> <tr> <td>This past week I was able to attend the 360|Flex conference in Seattle. All I can say is wow! Tom &amp; John did a great job organizing this conference, and I feel it was the best conference I had ever been to for the money. <p>All the great names in Flex were there, and my favorite by far was <a href="http://www.dougmccune.com/">Doug McCune's</a> session on custom components. Doug has done some amazing things (using other people's work) by mashing up all the cool open source code there is out there, and creating things that really knock your socks off. Being at the conference, I was also privvy to some of the beta Flex apps that are being talked about, like <a href="http://www.virtub.com/">Buzzword</a> the web-based word processor, and <a href="http://www.mixbook.com/">Mixbook</a> - the collaborative photo book creator. Also announced was the next 360|Flex event being held in Italy. Ciao bella! </p> <p>The Seattle Flex Users Group put together a charity code jam during the entire event and the goal was to create a Flex based website for Northwest Harvest Food Bank. The nice thing about this charity event was that the entire project is open source which means that the entire code base, which was figured out to be valued around $74,000, can be used to setup other sites for food banks/etc. Great work from everybody.</p> <p>Looking forward, I see Flex as becoming one of the mainstream technologies for RIA development, and judging by the crowd and enthusiasm at 360, I think I'm not alone. </p> </td> <td><a href="http://www.360conferences.com/360flex"><img alt="" src="http://www.swfflex.com/blog/1/custom/360flex-seattle.jpg" style="width: 110px; height: 169px;" /></a></td> </tr> </tbody> </table> 		 		<p> 			Posted by admin at 12:00 AM | <a href="http://www.swfflex.com/blog/1/2007/08/360Flex-in-Seattle.cfm">Link</a> | <a href="http://www.swfflex.com/blog/1/2007/08/360Flex-in-Seattle.cfm#comments">0 comments</a> 			 		</p> 	 <!--
   content-wrap ends here -->	 					 		<!--
  footer starts here--></p>]]></content></entry><entry><title>Adobe Flex</title><id>http://www.sweerisat.com/flex/2008/3/13/adobe-flex.html</id><link rel="alternate" type="text/html" href="http://www.sweerisat.com/flex/2008/3/13/adobe-flex.html"/><author><name>Sweerisat Folk</name></author><published>2008-03-13T21:37:25Z</published><updated>2008-03-13T21:37:25Z</updated><content type="html" xml:lang="en-US"><![CDATA[<h3>What is Flex?</h3>               <p>Flex is a framework that helps you build dynamic, interactive rich Internet applications. Flex applications are delivered on the web via the Flash Player or to the desktop via <a href="http://www.adobe.com/go/air">Adobe AIR</a>. You can build applications using the <a href="http://www.adobe.com/go/tryflex?sdid=" onclick="javascript:urchinTracker('/outgoing/download/sdk');scDL=this.href;setTimeout(scOmnitureLink,500, scDL);">free Flex SDK</a> or <a href="http://www.adobe.com/go/tryflex?sdid=ZFCT">Flex Builder</a>, an Eclipse based IDE.</p>               <p>Check out <a href="http://flex.org/coldfusion/">Flex for ColdFusion developers</a>. </p>               <p>Check out <a href="http://flex.org/java/">Flex for Java developers</a>. </p>               <p>Check out <a href="http://flex.org/dotnet/">Flex for .NET developers</a>. </p>               <p>Check out <a href="http://flex.org/php/">Flex for PHP developers</a>.</p>               <p>Check out <a href="http://flex.org/ruby/">Flex for Ruby developers</a>.</p>]]></content></entry></feed>