<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Daniel Koestler</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.adobe.com/koestler/atom.xml" />
    <id>tag:blogs.adobe.com,2009-09-22:/koestler//305</id>
    <updated>2009-11-23T16:58:10Z</updated>
    <subtitle>A developer&apos;s blog on AIR, Flex, Flash, and other Adobe technology</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.261</generator>

<entry>
    <title>ShareFire Easter Egg &amp; Prizes</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/11/sharefire_easter_egg_prizes.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.44219</id>

    <published>2009-11-23T16:31:31Z</published>
    <updated>2009-11-23T16:58:10Z</updated>

    <summary>There&apos;s an Easter Egg in the latest version of ShareFire. No one has found it yet, so I thought I&apos;d tell you that the first three people to find it and respond will receive some Adobe stuff! (If you want it.)</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p><big>By the way...</big><br />
There's an Easter Egg in the latest version of <a href="http://www.sharefirereader.com">ShareFire</a>. No one has found it yet, so I thought I'd tell you that the first three people to find it and respond will receive some Adobe stuff! (If you want it.) We have:</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="mugs.jpg" src="http://blogs.adobe.com/koestler/2009/11/23/mugs.jpg" width="300" height="225" class="mt-image-none" style="" /></span></p>

<p>1st: Two Adobe mugs and an Adobe thermos</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="briefcase_small.jpg" src="http://blogs.adobe.com/koestler/2009/11/23/briefcase_small.jpg" width="300" height="225" class="mt-image-none" style="" /></span></p>

<p>2nd: An "Adobe Standards" briefcase</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="license_plate_cover_small.jpg" src="http://blogs.adobe.com/koestler/2009/11/23/license_plate_cover_small.jpg" width="300" height="225" class="mt-image-none" style="" /></span></p>

<p>3rd: An Adobe license plate cover and an Adobe sticker sheet<br />
<br/><br />
If you think these choice of gifts is odd, you're right....They're some swag/schwag we had in the office, and I got the sticker sheet at Adobe MAX.<br />
If you find the Easter Egg, record some evidence (a screenshot) and email me at <a href="mailto:dkoestle@adobe.com">dkoestle@adobe.com</a>; I'll let you know if you're one of the first three to respond, in which case you can tell me where to send the prize. As always, you can grab the latest version at <a href="http://www.sharefirereader.com">sharefirereader.com</a>. ShareFire IS an open source project, but you won't find the secret in the code until either the promotion ends or the prizes are given away.<br/><br />
<a href="http://sharefirereader.com/EasterEggTermsAndConditions.html"><strong>Terms and Conditions apply</strong></a>. Please read them.</p>]]>
        
    </content>
</entry>

<entry>
    <title>ShareFire 1.8 released!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/11/sharefire_18_released.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.44137</id>

    <published>2009-11-18T20:34:45Z</published>
    <updated>2009-11-18T20:40:35Z</updated>

    <summary>After some delays due to the excitement and aftermath of MAX 2009, I&apos;m happy to announce that a new version of ShareFire is ready. ShareFire is a feature-rich feed reader written in Adobe AIR, and it allows you to easily...</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p>After some delays due to the excitement and aftermath of MAX 2009, I'm happy to announce that a new version of <a href="http://www.sharefirereader.com">ShareFire</a> is ready. ShareFire is a feature-rich feed reader written in Adobe AIR, and it allows you to easily share stories across Twitter, AIM, email, and social networking sites. I created it with my boss <a href="http://blogs.adobe.com/cantrell/">Christian Cantrell</a> when I was interning at Adobe, and I've had some time to add features to it and maintain the code. Some of the new features are:<ul><br />
	<li>Import from Google Reader</li><li>English spell checking of Tweets and AIM messages, using the free Adobe Labs project <a href="http://labs.adobe.com/technologies/squiggly/">Squiggly</a></li><li>UI improvements to the Tweet window and the post display (which now displays the author's name, if available)</li><li>Twitter URL shortening</li><li>Performance optimizations and reduced memory footprint</li><li>Keyboard usability improvements</li><li>Bug fixes</li></ul><br />
ShareFire is free and open source. You can access the code at <a href="http://www.code.google.com/p/apprise">http://www.code.google.com/p/apprise</a>, including the list of changes made to this version: <a href="http://code.google.com/p/apprise/source/list?start=533">starting at revision 509</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Accessibility in AIR 2</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/11/accessibility_in_air_2.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.44120</id>

    <published>2009-11-17T20:35:32Z</published>
    <updated>2009-11-17T20:42:20Z</updated>

    <summary>Last night the AIR 2 Beta became publicly available on Labs! There are already some great tutorials, articles, and other information on the new features. To learn more about AIR 2, I recommend my colleague&apos;s post from last night: AIR...</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p>Last night the AIR 2 Beta became publicly <a href="http://labs.adobe.com/technologies/air2/">available on Labs</a>! There are already some great tutorials, articles, and other information on the new features. To learn more about AIR 2, I recommend my colleague's post from last night: <a href="http://blogs.adobe.com/cantrell/archives/2009/11/air_2_public_beta_resources.html">AIR 2 Public Beta Resources</a>.<br/><br />
The feature I'll focus on, however, is accessibility support, which allows you to create applications that visually impaired users can use. Screen readers such as JAWS and NVDA can connect to your application and read off visual content. Using this feature in conjunction with existing Flex components is straightforward; I've written an article that shows you <a href="http://www.adobe.com/devnet/air/flex/articles/creating_accessible_apps_in_air_and_flex.html">how to use AIR 2 and Flex to create accessible applications</a>, and beginning to intermediate Flex users may also enjoy the tips on the Cairngorm framework, data binding, and using the Encrypted Local Store.<br/><br />
If you wish to use AIR 2 but need your own custom components, I recommend watching this presentation from Adobe MAX 2009, which <a href="http://tv.adobe.com/watch/max-2009-develop/building-accessible-flex-and-adobe-air-applications/">goes into depth on AIR 2 and ActionScript accessibility</a>.<br/><br />
Finally, I've created an open source application that you can use as a starting point for your own programs: <a href="http://code.google.com/p/quoththetwitter">QuothTheTwitter demos how to build an accessible Twitter client</a> in AIR 2. It's quite simple at the moment, but incorporates many of the best practices I mention in my ADC article.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Adobe MAX and accessibility in AIR 2.0</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/10/adobe_max_and_accessibility_in.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.43689</id>

    <published>2009-10-21T16:15:21Z</published>
    <updated>2009-11-02T20:12:14Z</updated>

    <summary>I&apos;ve been quite busy these last two weeks: first with the impressive and massive Adobe MAX, and then a week of personal traveling around the country. I co-presented on Accessibility in AIR and Flex with Michael A. Jordan at MAX,...</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p>I've been quite busy these last two weeks: first with the impressive and massive Adobe MAX, and then a week of personal traveling around the country.<br />
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blogs.adobe.com/koestler/assets_c/2009/10/outside-1076.html" onclick="window.open('http://blogs.adobe.com/koestler/assets_c/2009/10/outside-1076.html','popup','width=600,height=800,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blogs.adobe.com/koestler/assets_c/2009/10/outside-thumb-300x400-1076.jpg" width="300" height="400" alt="outside.jpg" class="mt-image-none" style="" /></a></span></p>

<p> I co-presented on Accessibility in AIR and Flex with Michael A. Jordan at MAX, and briefly showed off a simple Twitter client written in Adobe AIR. AIR 2.0 will include accessibility support on par with the Flash Player, meaning you can create your own Accessibility Implementations in AS3 and/or leverage 28 of the existing Flex components which have accessibility support built-in. Even if you're not targeting visually disabled users, a lot of the design practices used in creating an accessible application will enhance your program's usability and polish. I recommend checking out our MAX presentation on Adobe TV: <a href="http://tv.adobe.com/watch/max-2009-develop/building-accessible-flex-and-adobe-air-applications/">http://tv.adobe.com/watch/max-2009-develop/building-accessible-flex-and-adobe-air-applications/</a></p>

<p>Michael and I have provided some resources to help you with accessibility in Flash, Flex, and AIR. Michael's provided the slides for the presentation here: <a href="http://www.majordan.net/max2009/">http://www.majordan.net/max2009/</a>, as well as some very helpful source code for creating your own accessibility implementations.</p>

<p>Yesterday I open-sourced my AIR 2.0 demo app and put it on Google Code. You can access it here: <a href="http://code.google.com/p/quoththetwitter/">http://code.google.com/p/quoththetwitter/</a>. You'll have to wait for the public beta of AIR if you're not on the prerelease list (<a href="http://prerelease.adobe.com">http://prerelease.adobe.com</a>) to try Quoth The Twitter with a screen reader, but you can still use the application to learn about using CSS to provide a high contrast mode, using data binding to allow the user to change the application-level font size in real time, and to experiment with creating an application that can be used solely with the keyboard. It can also be an excellent starting point for creating a full-featured, accessible Twitter client written in Adobe AIR.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Spell checking in AIR, Flash, and Flex!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/09/spell_checking_in_air_flash_an.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.43054</id>

    <published>2009-09-22T18:34:58Z</published>
    <updated>2009-09-22T21:14:29Z</updated>

    <summary>If you&apos;ve created an AIR, Flash, or Flex app and dealt with text and user input, you&apos;ve probably looked around for a spell checking solution. Today you can use a spell checking engine released by Adobe and available for free on Adobe Labs! http://labs.adobe.com/technologies/squiggly/
 </summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    <category term="adobe" label="Adobe" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="air" label="AIR" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flash" label="Flash" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flex" label="Flex" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="spellchecking" label="Spell checking" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="squiggly" label="Squiggly" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p><big>I</big>f you've created an <span class="caps">AIR,</span> Flash, or Flex app and dealt with text and user input, you've probably looked around for a spell checking solution. There have been some great third-party spell checkers for some time now, with the widest-adopted perhaps being <a href="http://www.gskinner.com/products/spl/about.php">Grant Skinner's Spelling Plus Library</a>.</p>

<p>Today, however, you can use a spell checking engine called "<a href="http://labs.adobe.com/technologies/squiggly">Squiggly</a>," released by Adobe and available for free on Adobe Labs! It's important to note that Squiggly is a preliminary release and is officially unsupported. If you need support or a commercial solution, I recommend checking out <a href="http://www.gskinner.com/products/spl/about.php">Grant Skinner's <span class="caps">SPL</span></a>. </p>

Squiggly works with <span class="caps">AIR,</span> Flex, or pure <span class="caps">AS3 </span>apps. <br />
You can see a live demo <a href="http://labs.adobe.com/technologies/squiggly/demo/">here</a>. <br />
<br/><br />
Using it in your project is quite easy, and requires two things:<ul>
	<li>A compiled dictionary (<em>usa.zwl</em> is included)</li>
        <li>The AdobeSpelling.swc library</li>
</ul><br/>
<strong>The dictionary:</strong> You have two choices. You can either use the English dictionary that ships with Squiggly, or use the <em>DictionaryGenerator.air</em> utility to compile your own from a word list. Note that the spell checking heuristics used to determine alternate words is currently based on English phonological rules...meaning that if you pick a non-English dictionary, the suggestions won't work. Multi-lingual support is planned for future releases. In either case, take the <em>dictionary.zwl</em> and put it in your application path. For example, in a folder called "<em>assets</em>."<br/><br />
<strong>The library:</strong> Place <em>AdobeSpelling.swc</em> in your project's <em>libs</em> folder, or be sure to append its location to the library path.

<p>You can now call the Squiggly <span class="caps">API</span>s from your application. <br />
If you want to create a spell-checking enabled Halo <em>TextArea</em> or <em>RichText</em>, use the included <em>SpellUI.enableSpelling</em> function, like so:<small></p>

<pre><code>
	&lt;fx:Script&gt;
		&lt;![CDATA[
			import com.adobe.linguistics.spelling.SpellUI;
			import mx.events.FlexEvent;

			protected function windowedapplication1_initializeHandler(event:FlexEvent):void
			{
				SpellUI.enableSpelling(textArea,&quot;assets/usa.zwl&quot;);	
			}
		]]\&gt;
	&lt;/fx:Script&gt;
	&lt;s:Group width=&quot;100%&quot; height=&quot;100%&quot;&gt;
		&lt;mx:TextArea id=&quot;textArea&quot; width=&quot;100%&quot; height=&quot;100%&quot;/&gt;
	&lt;/s:Group&gt;
</code>
</pre>


<p></small></p>

<p>If you're not using Flex or you're designing your own components, you can call the underlying engine by creating a <em>SpellingDictionary</em> and <em>SpellChecker</em> object. To check a given word, for example:<br />
            <br />
<small></p>

<pre><code>
            
	private var _newdict:SpellingDictionary = new SpellingDictionary();
	private var sp:SpellChecker= new SpellChecker(&quot;en&quot;);

	private function init():void 
	{
		_newdict.addEventListener(Event.COMPLETE, handleLoadComplete);
		var myURL:URLRequest = new URLRequest(&quot;assets/usa.zwl&quot;);
		_newdict.load(myURL);
	}
	private function handleLoadComplete(evt:Event):void
	{
	        sp.addDictionary(_newdict);
	}

	private function checkWord(var someWord:String):void 
	{
		var correct:Boolean = sp.checkWord(someWord);
	    if( correct )
		{
			trace(&quot;Correctly spelled&quot;);
			// ...
		}
	    else
		{
			trace(&quot;Incorrectly spelled&quot;);
			// ...                
		}
	}</pre>

<p></code></small></p>

<p>Note that loading the <em>usa.zwl</em> dictionary is an asynchronous event, and is accomplished by using a <em><span class="caps">URLR</span>equest</em> and waiting for <em>Event.COMPLETE</em> to be dispatched. </p>

<p>Squiggly is highly optimized and very fast, and future versions will only improve upon this beta. Please try it out and post your comments or problems in the forums, which I and other Adobe employees will be monitoring. </p>

<p>Squiggly is available here: <a href="http://labs.adobe.com/technologies/squiggly/
">http://labs.adobe.com/technologies/squiggly/</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>You can vote on what gets fixed in Flex, Flash, and Flash Builder</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/08/the_public_bug_database_for_flex_flash_and_flash_builder.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.42223</id>

    <published>2009-08-10T18:38:26Z</published>
    <updated>2009-08-10T18:51:10Z</updated>

    <summary>I&apos;ve been working on a demo application to show off a new feature in AIR, and this sort of work has me interacting with the Adobe bug databases quite often. One of the things you may not realize is that...</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p>I've been working on a demo application to show off a new feature in AIR, and this sort of work has me interacting with the Adobe bug databases quite often. One of the things you may not realize is that the public has read and write access to the Flash Player, Flex SDK and Flash Builder bug databases; more than that, every submitted bug is read by Adobe employees at bug review meetings, and bugs that have more votes are recognized as being important to the community.</p>

<p>Here are some pending issues in the bug database that I care about. If you also want these bugs fixed, you should vote on them (or submit some of your own):</p>

<p><b>Flash Player:</b><br />
 "Allow fullscreen mode to stay active on one monitor while the user is working on another"<br />
I've seen users of MLB.TV find the current behavior especially annoying: Flash Player will close full screen mode if you interact with another monitor.<br />
<a href="https://bugs.adobe.com/jira/browse/FP-1723">https://bugs.adobe.com/jira/browse/FP-1723</a></p>

<p><b>Flex SDK:</b><br />
 "Clicking and holding on a DropDownList doesn't select an item"<br />
This affects all the drop down lists you see in Flex applications. When you click and hold a drop down list and let go of the mouse button when you're over an item, the item isn't selected and the menu doesn't close. This is different than the behavior of native drop down lists in OS X, Windows XP, and Linux.<br />
<a href="https://bugs.adobe.com/jira/browse/SDK-22208">https://bugs.adobe.com/jira/browse/SDK-22208</a></p>

<p><b>Flash Builder:</b><br />
  "Cannot view any key bindings in General/Keys in Preferences with the Emacs scheme"<br />
Despite using vi for text editing, I'm addicted to the Emacs key bindings Ctrl + a, Ctrl + e, etc. Flash Builder (quite coolly) has Emacs keyboard shortcuts built in, but this bug prevents the preferences window from showing all the shortcuts.<br />
<a href="https://bugs.adobe.com/jira/browse/FB-21871">https://bugs.adobe.com/jira/browse/FB-21871</a></p>

<p>You have to register to vote or comment on a bug, but the process is standard and quick. Here's the sign-up page: <a href="https://bugs.adobe.com/jira/secure/Signup!default.jspa">https://bugs.adobe.com/jira/secure/Signup!default.jspa</a></p>

<p>You can create your own bugs, and Adobe employees will read every one. You can do that here: <a href="https://bugs.adobe.com/jira/secure/CreateIssue!default.jspa">https://bugs.adobe.com/jira/secure/CreateIssue!default.jspa</a><br />
and you can search for existing bugs here: <a href="https://bugs.adobe.com/jira/secure/IssueNavigator.jspa">https://bugs.adobe.com/jira/secure/IssueNavigator.jspa</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Unreadable Encrypted Local Store and the general internal error</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/07/unreadable_encrypted_local_sto.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.11307</id>

    <published>2009-07-06T18:00:06Z</published>
    <updated>2009-07-06T18:08:42Z</updated>

    <summary>One of the issues you may encounter when updating an AIR project in Flash Builder is what appears to be corruption of your Encrypted Local Store. This might manifest itself as a vague &quot;general internal error&quot; when your application attempts...</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    <category term="adobe" label="Adobe" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="air" label="AIR" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="encryptedlocalstore" label="Encrypted Local Store" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="generalinternalerror" label="general internal error" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="processerrorcode" label="processErrorCode" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p>One of the issues you may encounter when updating an AIR project in Flash Builder is what appears to be corruption of your Encrypted Local Store. This might manifest itself as a vague "general internal error" when your application attempts to read from or save to the ELS:	<blockquote>Error: general internal error<br />
		at flash.data::EncryptedLocalStore$/processErrorCode()<br />
		at flash.data::EncryptedLocalStore$/getItem()<br />
		...</blockquote>When you run a new project and attempt to access the ELS, Flash will search the ELS directory with a <em>case insensitive</em> search, creating a new ELS if it doesn't find an appropriate app ID. This is important to note, as the data you encrypt and save is keyed to a <em>case sensitive</em> copy of your application ID! Thus, if you migrate a Flex project with an application ID that varies only in case, Flash will find the ELS directory but fail to decrypt it, as your application ID is different than the key used to encrypt the ELS.<br />
	<br />
Flash will also fail to decrypt the ELS if your username (or perhaps user information) has changed, or if something serious happens to your keychain. <blockquote>ELS files are stored in:<br />
	OS X: ~/Library/Application Support/Adobe/ELS/[app ID]<br />
	Linux: ~/.appdata/Adobe/AIR/ELS<br />
	<br />
	In XP I've read that the files are either in C:\Documents and Settings\[username]\Application Data\Adobe\AIR\ELS or C:\Documents and Settings\[username]>\Application Data\[app ID]\ELS. On Vista I've read that it's in C:\Users\[username]\AppData\Roaming\Adobe\AIR\ELS.</blockquote>	Your solutions are:<br />
	1. If you want your new application ID to be the same as your old one, make sure it doesn't vary in case<br />
	2. If you want a new application ID, changing the case is not sufficient, as Flash performs a case-insensitive search while looking for the ELS<br />
	3. Remove the ELS data and allow Flash to create a new store. E.g., delete ~/Library/Application Support/Adobe/ELS/[app id]. You will lose any encrypted information</p>]]>
        
    </content>
</entry>

<entry>
    <title>Flash Builder, Flex 4, and Flash Catalyst Betas Available</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/06/flash_builder_flex_4_and_flash.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.10920</id>

    <published>2009-06-01T19:26:47Z</published>
    <updated>2009-06-01T20:47:04Z</updated>

    <summary>Today Adobe released beta versions of Flash Builder 4, the Flex 4 SDK, and Flash Catalyst...I recommend checking out the Catalyst beta in particular, as it&apos;s a brand new product that should be put through its paces. It remains to be seen how far designers can go with Catalyst, but you can already import Photoshop and Illustrator projects and convert artwork into components, which a developer (using Flash Builder) can import and flesh out into a working application.</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    <category term="flashbuilder" label="Flash Builder" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flashcatalyst" label="Flash Catalyst" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flex" label="Flex" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="gumbo" label="Gumbo" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="thermo" label="Thermo" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p>Today Adobe released beta versions of Flash Builder 4, the Flex 4 SDK, and Flash Catalyst. Builder is a development environment for creating Flex, AIR, and ActionScript applications; Flex is the collection of open-source components with which you can populate your application; and Flash Catalyst aims to allow designers and developers to rapidly create the Flex interface and code, respectively.  </p>

<p>I recommend checking out the Catalyst beta in particular, as it's a brand new product that should be put through its paces. It remains to be seen how far designers can go with it, but you can already import Photoshop and Illustrator projects and convert artwork into components, which a developer (using Flash Builder) can import and flesh out into a working application. I'm doing the development side of things with an internal Adobe application, and importing an FXP from Catalyst has removed some of the difficulty in laying out a UI in FB. I find the combination of assets from Catalyst with Flash Builder 4's Design View to be preferable to Flex 3 and embedding skins only in CSS, for example. Catalyst exports components that use the new <a href="http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Skinning">skinning architecture</a>.</p>

<p>You can download the betas here: <a href="http://labs.adobe.com/technologies/flash/">http://labs.adobe.com/technologies/flash/</a></p>

<p>If you want to see how Catalyst and Flash Builder work, here's Kevin Lynch <a href="http://www.mikechambers.com/blog/2009/04/03/kevin-lynchs-web-20-keynote-flash-catalyst-demo/">demoing it at the Web 2.0 conference,</a> and <a href="http://labs.adobe.com/technologies/flashcatalyst/">the Adobe page</a> has two videos.</p>

<p>If you find bugs, I encourage you to report them; developers read every bug that's submitted: <a href="https://bugs.adobe.com/flex/">https://bugs.adobe.com/flex/</a></p>

<p>One thing I've noticed about the pre-release versions of Catalyst: don't uninstall it on OS X by dragging it to the trash; it's possible that a future installer will tell you "beta or pre-release versions of the following products are installed on this machine, and must be uninstalled before this application can proceed." If you find yourself in this situation, try the following steps: <ul><li>Browse to /Library/Application\ Support/Adobe/Installers</li><li>Open the numbered folders</li><li>Run the Uninstall.app that has the Flash Catalyst icon</li><li>If that fails to uninstall Catalyst, try Setup.app instead</li></ul></p>

<p>We should see some very compelling Flex and AIR apps in the near future.</p>]]>
        
    </content>
</entry>

<entry>
    <title>ShareFire, Flex, Flash Builder, and more</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/koestler/2009/05/sharefire_flex_flash_builder_a.html" />
    <id>tag:blogs.adobe.com,2009:/koestler//305.10725</id>

    <published>2009-05-21T16:37:30Z</published>
    <updated>2009-05-21T16:54:23Z</updated>

    <summary>I&apos;m excited to be working on Flex 4 (Gumbo), the next version of Adobe AIR, an app called ShareFire, and some other awesome projects that are a natural consequence of being hired by Adobe as an Applications Developer! I&apos;ll be...</summary>
    <author>
        <name>Daniel Koestler</name>
        
    </author>
    
    <category term="actionscript" label="ActionScript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="adobe" label="Adobe" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="air" label="AIR" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="chipotle" label="Chipotle" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flashbuilder" label="Flash Builder" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flex" label="Flex" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/koestler/">
        <![CDATA[<p>I'm excited to be working on Flex 4 (Gumbo), the next version of Adobe AIR, an app called <a href="http://www.ShareFireReader.com">ShareFire</a>, and some other awesome projects that are a natural consequence of being hired by Adobe as an Applications Developer! I'll be using this blog to post some insights (hopefully) into these projects, and into other technical issues as well.</p>

<p>I studied computer science and astronomy, but there's the possibility that my posts may wander into things like little British sports cars, guitars, electronics, IDM...but I'll try to keep this post, at least, on track. Check back here for some posts on:<ul><br />
<li>An open-source RSS reader I wrote with fellow developer Christian Cantrell, called <a href="http://www.ShareFireReader.com">ShareFire</a> (<a href="http://code.google.com/p/apprise">Google Code page</a>). It's written in AIR, meaning it's cross platform (which, as a fan of Linux, I particularly like about the runtime), has a slick UI, and does some clever tricks RIA developers might like to know about. If you daydream about the complexities of asynchronous communications with SQLLite and HTTP-based data providers, or find yourself in want of information on how to beef up a scrawny component like the (frankly sadistic) mx:Tree, you may like my upcoming posts on ShareFire.</li><br />
<li>Flex 4. A lot of my new job involves using Flex 4 when I develop applications, so I'll be able to tell you about the new states syntax, how the skinning architecture will work, and how to soup up an existing application--even if you still need some Flex 3 components. As an aside, I've seen some other blogs and I should warn you that I like to argue...debating the namespace change will be fun for at least one of us.</li><br />
<li>Flash Builder. Already I can tell you that it's faster and has time-saving shortcuts that make me physically uncomfortable whenever I use Flex Builder 3. The auto generation of event handlers alone earns the cost of having to remove the FB3 sticker from my laptop and put on the shiny FB4 one. I've also done some PHP development with Zend Studio and the Zend framework, so I hope to chat with you about the new data-centric features that allow FB4 to work closely with PHP and Zend; they make connecting to remote procedures much faster, for a start, and Flash Builder does some clever things with design view.</li><br />
<li>Real-life issues with Flex and AIR. For example, we can make Rich Internet Applications, but why isn't there a TextArea that has spell checking? I wrote a spell checker that generates a bloom filter, which allows the code to check ~13,000 words a second; I thought the theory behind an ActionScript bloom filter would be a good post, and I'll talk about a free and open-source spell checking component in the near future.</li></ul>	<br />
I post on Twitter as <a href="http://www.twitter.com/antiChipotle">antiChipotle</a>, and I'll be posting on this blog in the coming weeks.</p>]]>
        
    </content>
</entry>

</feed>
