<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>dispatchEvent &#187; AIR</title>
	<link>http://www.partlyhuman.com/blog</link>
	<description>Welcome to dispatchEvent, a blog brought to you by Roger Braunstein of partlyhuman and Mims Wright of losdesigns.</description>
	<pubDate>Fri, 09 May 2008 06:49:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Pimp my &#8216;clipse - a list of must-have Eclipse plug-ins for Flex/Flash Development</title>
		<link>http://www.partlyhuman.com/blog/mims/pimp-my-clipse-a-list-of-must-have-eclipse-plug-ins-for-flexflash-development</link>
		<comments>http://www.partlyhuman.com/blog/mims/pimp-my-clipse-a-list-of-must-have-eclipse-plug-ins-for-flexflash-development#comments</comments>
		<pubDate>Mon, 17 Dec 2007 16:00:18 +0000</pubDate>
		<dc:creator>Mims Wright</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Hacks]]></category>

		<category><![CDATA[Links]]></category>

		<category><![CDATA[Organization]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Rants]]></category>

		<category><![CDATA[Serious Stuff]]></category>

		<category><![CDATA[Tutorial]]></category>

		<category><![CDATA[universalmind]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=216</guid>
		<description><![CDATA[
FlexBuilder may have its ups and downs but it still remains my pick for best AS3/MXML editor on the market (with TextMate not far behind). Part of the beauty of FlexBuilder is that it&#8217;s built on the Eclipse SDK, one of the most versatile and powerful IDEs available, which is not only free and open [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://mimswright.com/blog/wp-content/uploads/2007/12/eclipserims.png' alt='Eclipse Rims' /></p>
<p>FlexBuilder may have its ups and downs but it still remains my pick for best AS3/MXML editor on the market (with <a href="http://macromates.com/">TextMate</a> not far behind). Part of the beauty of FlexBuilder is that it&#8217;s built on the <a href="http://www.eclipse.org/">Eclipse SDK</a>, one of the most versatile and powerful IDEs available, which is not only free and open source, but boasts <a href="http://www.eclipseplugincentral.com/">a wealth of third party plug-ins</a> for every kind of (mostly Java) development. This article will take a look at some must-have plug-ins for doing Flex development as well as some tips for tricking out your development process.</p>
<p>As with all of our entries, your feedback, suggestions, corrections and additions are all more than welcome.</p>
<p> <a href="http://www.partlyhuman.com/blog/mims/pimp-my-clipse-a-list-of-must-have-eclipse-plug-ins-for-flexflash-development#more-216" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/mims/pimp-my-clipse-a-list-of-must-have-eclipse-plug-ins-for-flexflash-development/feed</wfw:commentRss>
		</item>
		<item>
		<title>New Releases on Adobe Labs</title>
		<link>http://www.partlyhuman.com/blog/mims/new-releases-on-adobe-labs</link>
		<comments>http://www.partlyhuman.com/blog/mims/new-releases-on-adobe-labs#comments</comments>
		<pubDate>Thu, 13 Dec 2007 18:28:18 +0000</pubDate>
		<dc:creator>Mims Wright</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Links]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Serious Stuff]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=214</guid>
		<description><![CDATA[Flex 3 public beta is out.
AIR public beta is out.
and while you&#8217;re at it&#8230;
Flash Lite 3
New Flash Player
and BlazeDS, whatever that is. (Hint: despite the name, this is not Flash CS3 for Gameboy)
]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.adobe.com/technologies/flex/">Flex 3 public beta</a> is out.</p>
<p><a href="http://labs.adobe.com/technologies/air/">AIR public beta</a> is out.</p>
<p>and while you&#8217;re at it&#8230;</p>
<p><a href="http://labs.adobe.com/technologies/flashlite3/">Flash Lite 3</a></p>
<p>New <a href="http://labs.adobe.com/technologies/flashplayer9/">Flash Player</a></p>
<p>and <a href="http://labs.adobe.com/technologies/blazeds/">BlazeDS</a>, whatever that is. (Hint: despite the name, this is not Flash CS3 for Gameboy)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/mims/new-releases-on-adobe-labs/feed</wfw:commentRss>
		</item>
		<item>
		<title>How Ironic - Aviary is a CS3 competitor built with Adobe products</title>
		<link>http://www.partlyhuman.com/blog/mims/how-ironic-aviary-is-a-cs3-competitor-built-with-adobe-products</link>
		<comments>http://www.partlyhuman.com/blog/mims/how-ironic-aviary-is-a-cs3-competitor-built-with-adobe-products#comments</comments>
		<pubDate>Mon, 26 Nov 2007 07:36:18 +0000</pubDate>
		<dc:creator>Mims Wright</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Graphic Design]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[User Interface Design]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=201</guid>
		<description><![CDATA[

Aviary is a platform ecosystem for people who create. It is organized around a suite of Flex-based rich internet applications geared for artists of all genres. From image editing to typography to music to 3D to video, we have a tool for everything.

Sign up on the site for an early preview invitation. These tools, if [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://a.viary.com/'><img src='http://mimswright.com/blog/wp-content/uploads/2007/11/picture-1.jpg' alt='Aviary' /></a></p>
<blockquote><p>
<a href="http://a.viary.com/">Aviary</a> is a platform ecosystem for people who create. It is organized around <a href="http://a.viary.com/tools/">a suite of Flex-based rich internet applications</a> geared for artists of all genres. From image editing to typography to music to 3D to video, we have a tool for everything.
</p></blockquote>
<p>Sign up on the site for an early preview invitation. These tools, if not truly competition for CS3, at least look very interesting on the surface. It&#8217;s hard to imagine developing so many tools at once.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/mims/how-ironic-aviary-is-a-cs3-competitor-built-with-adobe-products/feed</wfw:commentRss>
		</item>
		<item>
		<title>Apollo FileSystem Tutorial Part 1 - File and FileStream</title>
		<link>http://www.partlyhuman.com/blog/mims/apollo-filesystem-io-api-part-1-file-and-filestream</link>
		<comments>http://www.partlyhuman.com/blog/mims/apollo-filesystem-io-api-part-1-file-and-filestream#comments</comments>
		<pubDate>Sun, 27 May 2007 08:38:25 +0000</pubDate>
		<dc:creator>Mims Wright</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Conferences and User Groups]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=163</guid>
		<description><![CDATA[
One of the most important new features in Apollo is the ability to access the local file system directly. This provides developers with the ability to read and edit text or html files, save preferences locally, store application states as external files, serialize and de-serialize data and much more. This tutorial will cover the File [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://mimswright.com/blog/wp-content/uploads/2007/05/pg12pic.jpg' title='Apollo Trajectory'><img src='http://mimswright.com/blog/wp-content/uploads/2007/05/pg12pic.jpg' width="100%" alt='Apollo Trajectory' /></a></p>
<p>One of the most important new features in Apollo is the ability to access the local file system directly. This provides developers with the ability to read and edit text or html files, save preferences locally, store application states as external files, serialize and de-serialize data and much more. This tutorial will cover the File API features in Apollo step-by-step and will serve as a supplement to the talk I recently gave at the  <a href="http://nyflex.or">New York Flex Users Group</a>.</p>
<p>This tutorial will be presented in multiple sections. This first will cover the File and FileStream classes and the subsequent ones will cover the Flex components used for viewing and accessing the file system and serializing and de-serializing data.</p>
<p> <a href="http://www.partlyhuman.com/blog/mims/apollo-filesystem-io-api-part-1-file-and-filestream#more-163" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/mims/apollo-filesystem-io-api-part-1-file-and-filestream/feed</wfw:commentRss>
		</item>
		<item>
		<title>Mims speaks @ NY Flex Users Group 2007/5/24</title>
		<link>http://www.partlyhuman.com/blog/mims/mims-speaks-ny-flex-users-group-2007524</link>
		<comments>http://www.partlyhuman.com/blog/mims/mims-speaks-ny-flex-users-group-2007524#comments</comments>
		<pubDate>Fri, 11 May 2007 03:17:39 +0000</pubDate>
		<dc:creator>Mims Wright</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Conferences and User Groups]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Serious Stuff]]></category>

		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=154</guid>
		<description><![CDATA[
Hi. For you readers in NYC, I&#8217;ll be speaking at the next NY Flex Users Group on the Apollo Filesystem API. I hope you can make it! If not, watch this space for notes and code samples. Cheers!
NYFLEX.org
]]></description>
			<content:encoded><![CDATA[<p><a href='http://mimswright.com/blog/wp-content/uploads/2007/05/pg12pic.jpg' title='Apollo Trajectory'><img src='http://mimswright.com/blog/wp-content/uploads/2007/05/pg12pic.jpg' width="100%" alt='Apollo Trajectory' /></a></p>
<p>Hi. For you readers in NYC, I&#8217;ll be speaking at the next <a href="http://nyflex.org">NY Flex Users Group</a> on the <a href="http://livedocs.adobe.com/apollo/1.0/aslr/flash/filesystem/package-detail.html">Apollo Filesystem API</a>. I hope you can make it! If not, watch this space for notes and code samples. Cheers!</p>
<p><a href="http://nyflex.org">NYFLEX.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/mims/mims-speaks-ny-flex-users-group-2007524/feed</wfw:commentRss>
		</item>
		<item>
		<title>Apollo Mail Client Version 0.3</title>
		<link>http://www.partlyhuman.com/blog/roger/apollo-mail-client-version-03</link>
		<comments>http://www.partlyhuman.com/blog/roger/apollo-mail-client-version-03#comments</comments>
		<pubDate>Thu, 26 Apr 2007 18:54:54 +0000</pubDate>
		<dc:creator>Roger Braunstein</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Authors]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.partlyhuman.com/blog/roger/apollo-mail-client-version-03</guid>
		<description><![CDATA[




I&#8217;m pleased to announce the first alpha release of ApolloMail, a cross-platform POP3 / SMTP e-mail client written in Apollo (obviously) in under 500K (and most of that is my gratuitous about banner). It&#8217;s just the beginnings, really, but here is a short feature matrix:

Authenticated POP3
Authenticated SMTP
MIME multipart emails
HTML e-mail rendering
Image attachments
Base64 decoding
Quoted-printable decoding

Features that [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right; margin-left: 1em">
<a href="http://partlyhuman.com/lab/apollomail/shot-about.jpg"><img src="http://partlyhuman.com/lab/apollomail/shot-about-thumb.jpg" alt="screenshot"/></a><br/><br />
<a href="http://partlyhuman.com/lab/apollomail/shot-prefs.jpg"><img src="http://partlyhuman.com/lab/apollomail/shot-prefs-thumb.jpg" alt="screenshot"/></a><br/><br />
<a href="http://partlyhuman.com/lab/apollomail/shot-sending.jpg"><img src="http://partlyhuman.com/lab/apollomail/shot-sending-thumb.jpg" alt="screenshot"/></a><br/>
</div>
<p>I&#8217;m pleased to announce the first alpha release of ApolloMail, a cross-platform POP3 / SMTP e-mail client written in Apollo (obviously) in under 500K (and most of that is my gratuitous about banner). It&#8217;s just the beginnings, really, but here is a short feature matrix:</p>
<ul>
<li>Authenticated POP3</li>
<li>Authenticated SMTP</li>
<li>MIME multipart emails</li>
<li>HTML e-mail rendering</li>
<li>Image attachments</li>
<li>Base64 decoding</li>
<li>Quoted-printable decoding</li>
</ul>
<p>Features that may be added very soon are:</p>
<ul>
<li>Local message store</li>
<li>HTML e-mail composing</li>
<li>Rich Text rendering</li>
<li>Better attachment handling</li>
<li>Far more robustness</li>
</ul>
<p>IMAP and SSL are less likely to be added soon. I would like to also use this as a platform to do something new with email, including several unique views which visualize your e-mail life graphically and in three dimensions. Otherwise it&#8217;s just another boring e-mail client.</p>
<p>E-mail has been around since 1971 (that&#8217;s ten years longer than me!), and it&#8217;s been built upon time and time again. I learned a ton about how e-mail works by building this app. On the other hand, I am sure I haven&#8217;t covered every kind of e-mail, POP server, or SMTP server; chances are fairly good you will come across an e-mail that this client doesn&#8217;t handle. Don&#8217;t panic<img src="http://partlyhuman.com/images/famfamfam/exclamation.png" alt="don't panic!"/> It&#8217;s just an alpha. In addition to mail rendering, the error handling while communicating to the server could be better. If you are experiencing trouble, watch the Activity window. Further, the windowing built into this version of Apollo is a hack, so many Flex components don&#8217;t work correctly.</p>
<p>There are a number of interesting technologies in Apollo that this app takes advantage of, which I will be sharing all of in the coming days. First, it leverages my windowing framework which I discussed in a bit of depth <a href="http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3">before</a>. It logs to a file using the <a href="http://www.partlyhuman.com/blog/roger/logging-to-a-file-in-apollo">File Logging Target</a> I published earlier. It also uses another simple but awesome technique to implement the activity window &#8212; a String logger which exposes its cumulative log messages as a bindable variable &#8212; so the activity window is a TextArea bound to a log target which filters only a specific category of logging information (while all logs are saved to disk). It extends an abstract preferences class which makes it a snap to bind to, serialize and deserialize application preferences to disk. And of course, it makes heavy use of binary sockets and regular expressions made possible by Flash Player 9.</p>
<p>I&#8217;ll be writing more about the technology involved, and sharing more of the source, in another post or two. For now, <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5Fapollo#runtime">grab the Apollo runtime</a> if you need it (link has mandatory registration), and take ApolloMail for a spin! Cheers!</p>
<p style="border: 6px solid black; background-color: yellow; color: black; font-weight: bold; padding: 1.5em;">Update: This application is made for the Apollo Alpha. If you have the AIR Beta runtime, it will not work. The next version of ApolloMail will be upgraded for this release of the runtime.</p>
<p><a href="http://partlyhuman.com/lab/apollomail/ApolloMail.air.zip"><img src="http://partlyhuman.com/lab/apollomail/icon48.png" alt="icon"/> ApolloMail</a> (ZIP, 486k, ZIP decompresses to an AIR file, open the AIR file after installing the Apollo Runtime.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/roger/apollo-mail-client-version-03/feed</wfw:commentRss>
		</item>
		<item>
		<title>Logging to a File in Apollo</title>
		<link>http://www.partlyhuman.com/blog/roger/logging-to-a-file-in-apollo</link>
		<comments>http://www.partlyhuman.com/blog/roger/logging-to-a-file-in-apollo#comments</comments>
		<pubDate>Tue, 10 Apr 2007 06:24:52 +0000</pubDate>
		<dc:creator>Roger Braunstein</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.partlyhuman.com/blog/roger/logging-to-a-file-in-apollo</guid>
		<description><![CDATA[Since Apollo apps will be run as standalone desktop applications, logging to trace output or a LocalConnection won&#8217;t really be useful once the app is installed on the end-user&#8217;s machine. It would be great to log (a responsible amount) (if you want) to the resource directory of that application itself. And it would be nice [...]]]></description>
			<content:encoded><![CDATA[<p>Since Apollo apps will be run as standalone desktop applications, logging to trace output or a <code>LocalConnection</code> won&#8217;t really be useful once the app is installed on the end-user&#8217;s machine. It would be great to log (a responsible amount) (if you want) to the resource directory of that application itself. And it would be nice to be able to use built in logging to do so.</p>
<p>Well, I don&#8217;t know why this wasn&#8217;t included with Apollo, but it was certainly easy enough to add in. :) I created com.partlyhuman.apollo.logging.FileTarget so you can use the Flex logging framework while logging to a file. It supports all the options of TraceTarget <a href="http://livedocs.adobe.com/flex/2/langref/mx/logging/targets/TraceTarget.html">(livedocs)</a>, and you can also (optionally) specify a custom filename to log to, or force it to append log output across sesssions.</p>
<p>Here&#8217;s how you might put in a file logging target in MXML:</p>
<pre>&lt;logging:FileTarget
	filename=&quot;error.log&quot;
	append=&quot;false&quot;
	level=&quot;{LogEventLevel.ERROR}&quot;
	includeDate=&quot;true&quot;
	includeTime=&quot;true&quot;
	includeCategory=&quot;true&quot;
	includeLevel=&quot;true&quot;/&gt;</pre>
<p>That&#8217;s showing off a lot of the options. You could just do <code>&lt;logging:FileTarget/&gt;</code> and all would be fine. And if you haven&#8217;t checked out logging in Flex, it&#8217;s pretty nice <a href="http://livedocs.adobe.com/flex/2/docs/00001533.html">(livedocs)</a>. All logging events have a category, so you get a logger for that category then call the appropriate level on it, or call <code>log</code> with the level as an argument. For example:</p>
<pre>Log.getLogger("com.partlyhuman.demoapp.MainController").error("initialization failed!");
Log.getLogger("com.partlyhuman.demoapp.Bubble").info("bubble popped!");</pre>
<p>You don&#8217;t have to be so verbose in your categories, but that&#8217;s one way to use it.</p>
<p>This is gonna totally become like, <b>a thing</b>, but&#8230; happy logging!</p>
<p><img src="http://partlyhuman.com/images/famfamfam/page_white_actionscript.png" alt="file" /><strong>com.partlyhuman.apollo.FileTarget</strong> <a href="http://partlyhuman.com/articles/apollo-logging-file/FileTarget.as.html">View Source</a> | <a href="http://partlyhuman.com/articles/apollo-logging-file/FileTarget.as">Download (.as, 3k)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/roger/logging-to-a-file-in-apollo/feed</wfw:commentRss>
		</item>
		<item>
		<title>Apollo Native Windows Part 3</title>
		<link>http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3</link>
		<comments>http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3#comments</comments>
		<pubDate>Sun, 08 Apr 2007 19:16:39 +0000</pubDate>
		<dc:creator>Roger Braunstein</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3</guid>
		<description><![CDATA[As promised I&#8217;m back with more goodies! This time I&#8217;ve extended the simple window manager to support document windows as well as application windows. I also included a class that binds to your MenuBar in an empty menu and keeps it populated with a list of windows. Clicking a window name in the menu will [...]]]></description>
			<content:encoded><![CDATA[<p>As promised I&#8217;m back with more goodies! This time I&#8217;ve extended the simple window manager to support document windows as well as application windows. I also included a class that binds to your <code>MenuBar</code> in an empty menu and keeps it populated with a list of windows. Clicking a window name in the menu will activate, unminimize, and bring the window to the front.</p>
<p>Application windows are windows that can always be brought up, like an activity window, or an about window. When you create an application window, it is created and hidden. Pressing the close button on the window is captured to hide the window rather than allowing it to be destroyed. Thus, it occupies a permanent position on the Window menu.</p>
<p>Document windows are windows which can be created and destroyed. You can have many instances of the same view class. These are useful for new mails or text files or what-have-you.</p>
<p>The main window has a special use. When you attempt to close it, it attempts to close all the child windows as well &#8212; so you can have an opportunity to save your unfinished document windows.</p>
<p><a href="http://partlyhuman.com/articles/apollo-windows/mail-demo-large.jpg"><img src="http://partlyhuman.com/articles/apollo-windows/mail-demo.jpg" style="float:right; margin-left: 1em" alt="Apollo Windowing in Action"/></a><br />
This is the windowing toolkit at work on an Apollo app I&#8217;m finishing up now. File&rarr;New Mail&#8230; creates a new document window with the compose view, and adds it to the Window menu. As you change the subject, the title of the window and its name in the Window menu are updated. The Window menu also permanently has several application-wide windows which the close button appears to close. The Window menu brings them and any other window back, even if they are minimized, hidden, or stacked on the bottom.</p>
<p>After the cut, let&#8217;s take a look at how this is set up in code. </p>
<p> <a href="http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3#more-140" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3/feed</wfw:commentRss>
		</item>
		<item>
		<title>Apollo Native Windows Part 2</title>
		<link>http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-2</link>
		<comments>http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-2#comments</comments>
		<pubDate>Sat, 07 Apr 2007 23:46:14 +0000</pubDate>
		<dc:creator>Roger Braunstein</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-2</guid>
		<description><![CDATA[Previously, I was trying to manage multiple native windows in an Apollo app. I found that I couldn&#8217;t add Flex components to a new window, and was dismayed. But Danny Dura came to the rescue with a sweet workaround. See the play by play here.
I&#8217;m developing a window manager to make things much easier for [...]]]></description>
			<content:encoded><![CDATA[<p>Previously, I was trying to manage multiple native windows in an Apollo app. I found that I couldn&#8217;t add Flex components to a new window, and was dismayed. But Danny Dura came to the rescue with a sweet workaround. <a href="http://www.partlyhuman.com/blog/roger/cant-wait-apollo-features">See the play by play here.</a></p>
<p>I&#8217;m developing a window manager to make things much easier for Apollo apps. The full window manager will be up shortly. For now, I have created a simple window manager, that wraps up the many steps necessary to create a window containing a Flex view (and clean it up on destruction!) into a really simple singleton class. The more fully-featured window manager will use this class, but it can be very helpful on its own. It makes creating new windows with Flex views a one-line operation:</p>
<p><code>var aboutWin:NativeWindow = WindowManagerSimple.getInstance().newWindow(AboutView, "About", {maximizable: false, resizable: false}, 300, 100);</code></p>
<p>You can use either a class name or a <code>UIComponent</code> instance for the view, and all the other parameters are optional. The window options parameter can accept a <code>NativeWindowInitOptions</code> object or an anonymous object of properties that override the defaults for brevity. See the source file for more info, Javadoc-styleeeee.</p>
<p><strong>Next:</strong> A more complete window manager, including application and document windows. <a href="http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3">Read on</a>.</p>
<p><img src="http://partlyhuman.com/images/famfamfam/page_white_actionscript.png" alt="file" /><strong>com.partlyhuman.apollo.WindowManagerSimple</strong> <a href="http://partlyhuman.com/articles/apollo-windows/WindowManagerSimple.as.html" target="_blank">View Source</a> | <a href="http://partlyhuman.com/articles/apollo-windows/WindowManagerSimple.zip">Download (.ZIP, 6K)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-2/feed</wfw:commentRss>
		</item>
		<item>
		<title>Can&#8217;t-Wait Apollo Features</title>
		<link>http://www.partlyhuman.com/blog/roger/cant-wait-apollo-features</link>
		<comments>http://www.partlyhuman.com/blog/roger/cant-wait-apollo-features#comments</comments>
		<pubDate>Fri, 06 Apr 2007 09:45:47 +0000</pubDate>
		<dc:creator>Roger Braunstein</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.partlyhuman.com/blog/roger/cant-wait-apollo-features</guid>
		<description><![CDATA[I was just working on a good way to flexibly manage my application&#8217;s document windows in Apollo, and when I started trying to throw real windows up, I ran into a wall. The windowing docs clearly showed an example of adding display objects right into the stage of a NativeWindow, but I wasn&#8217;t able to [...]]]></description>
			<content:encoded><![CDATA[<p>I was just working on a good way to flexibly manage my application&#8217;s document windows in Apollo, and when I started trying to throw real windows up, I ran into a wall. The windowing docs clearly showed an example of adding display objects right into the stage of a <code>NativeWindow</code>, but I wasn&#8217;t able to spawn windows with views in them. After banging my head for a while, I found the note cleverly <em>hidden at the very top of <a href="http://livedocs.adobe.com/labs/as3preview/langref/flash/display/NativeWindow.html" target="_blank">the asdocs</a> with a bold &#8220;Important&#8221;!</em> Those tricky Adobe technical writers. Anyway, you can add in an HTML view, or display objects, but apparently those windows run their own instance of Flash Player: you can&#8217;t just add in Flex components. I would be curious to find out if cross-window scripting is also impossible now. I would guess so. I&#8217;m guessing that getting a unified Flash Player execution environment across native OS windows in all supported OSes is a challenging hurdle (to say the least).</p>
<p>At least mine eyes did not deceive me about the other feature I really am looking forward to, native menu bar support. This is more of an issue for the Mac platform since menus are already grouped with the main application window in Windoze.</p>
<p><img src="http://partlyhuman.com/articles/misc/windows3.1mail.gif" style="float:right;margin-left:1em"/><br />
So these two limitations kind of throw a wrench in what I was trying to do&#8230; I guess I&#8217;ll do the Windows 3.1 thing and have one big window with a window-docked menu, and containing the document windows as children. The document windows and menu will both be standard flex components within the main Apollo window. Anyway, I&#8217;m looking forward to the next public alpha rev! Hopefully it&#8217;s on its way :)</p>
<p><b>Update:</b> I was thankfully wrong about cross window applications, even in the alpha. Adding Flex components requires a pretty straightforward workaround. <a href="http://www.danieldura.com/archive/apollo-multi-window-support-using-flex">Daniel Dura&#8217;s approach</a>. <a href="http://custardbelly.com/blog/?p=60">Todd Anderson&#8217;s approach</a>. Ask (a stupid question) and ye shall receive (an answer from the internets)!</p>
<p><b>Update:</b> Native window saga <a href="http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-2">part two</a>, <a href="http://www.partlyhuman.com/blog/roger/apollo-native-windows-part-3">part three</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.partlyhuman.com/blog/roger/cant-wait-apollo-features/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
