<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7655425</atom:id><lastBuildDate>Sun, 12 Jan 2025 22:50:35 +0000</lastBuildDate><category>flex</category><category>adobe</category><category>seespotslide</category><category>Flash Catalyst</category><category>experience design</category><category>flash</category><category>Flex Gumbo</category><category>design</category><category>photoshop</category><category>air</category><category>developer</category><category>iphone</category><category>tips</category><category>tutorial</category><category>funny</category><category>ria</category><category>slideshow</category><category>ui</category><category>&quot;lebron james&quot;</category><category>360Flex</category><category>BMW</category><category>MAX adobe flex flash</category><category>R1200RT</category><category>Sarah Silverman</category><category>UIWebView</category><category>advertising</category><category>alpha</category><category>apple</category><category>blogger widget links</category><category>bloggin</category><category>cavaliers</category><category>color</category><category>css</category><category>datagrid</category><category>dataprovider</category><category>date</category><category>editorial design</category><category>etch-a-sketch</category><category>fonts</category><category>google</category><category>gui</category><category>iconfactory</category><category>illustrator</category><category>iphone xd ux design</category><category>knoware</category><category>microsoft</category><category>motorcycle</category><category>mysql</category><category>php</category><category>safari</category><category>skins</category><category>surface</category><category>transparent</category><category>twitter</category><category>twitterrific</category><category>user experience</category><category>video</category><category>vote</category><title>e-venture</title><description>Experience Design in the trenches</description><link>http://erikloehfelm.blogspot.com/</link><managingEditor>noreply@blogger.com (Erik Loehfelm)</managingEditor><generator>Blogger</generator><openSearch:totalResults>74</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-9055478849858148728</guid><pubDate>Thu, 19 Nov 2009 18:53:00 +0000</pubDate><atom:updated>2009-11-19T13:59:17.543-05:00</atom:updated><title>test</title><description>&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; id=&quot;WSJ Widget&quot; width=&quot;180&quot; height=&quot;400&quot; codebase=&quot;http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.wsjradio.com/widget/Widget_Affiliate_WSJ.swf&quot;&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot;&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#000000&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.wsjradio.com/widget/Widget_Affiliate_WSJ.swf&quot; quality=&quot;high&quot; bgcolor=&quot;#000000&quot; width=&quot;180&quot; height=&quot;400&quot; name=&quot;WSJ Widget&quot; align=&quot;middle&quot; play=&quot;true&quot; loop=&quot;false&quot; allowscriptaccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</description><link>http://erikloehfelm.blogspot.com/2009/11/test.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-4408257726104424752</guid><pubDate>Wed, 27 May 2009 14:16:00 +0000</pubDate><atom:updated>2009-05-27T10:27:11.177-04:00</atom:updated><title>Apple&#39;s AppStore is Bizarre</title><description>I don&#39;t want to bash Apple. I&#39;m an Apple addict! Love every one of their products and have had nothing but good things to say about their quality and attention to design and detail. But... the AppStore process is a strange animal. &lt;br /&gt;&lt;br /&gt;Our first iPhone application for &lt;a href=&quot;http://www.fx360.com&quot;&gt;FX360&lt;/a&gt; was submitted on May 15th. I declared the &#39;release date&#39; to be the 18th in the submission. I checked the iTunesConnect environment 2 to 3 times a day, everyday, to see if it was approved. After the holiday weekend, Tim from the office pinged me in the morning to ask if the app was live because he was looking at it on a review site. I logged into iTunesConnect and it was approved and live! Great, but, how about a notice that it was approved? An email... a text... a message on my phone... nadda. &lt;br /&gt;&lt;br /&gt;That seems like a strange policy to me. Apple must realize that many developers are holding their breath for their apps to be approved. I&#39;m not sure why they are taking a no contact approach on the approval, but it doesn&#39;t seem like a very well thought through User Experience on their part. Oh well. Part of doing business with them I guess.</description><link>http://erikloehfelm.blogspot.com/2009/05/apples-appstore-is-bizarre.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-1424472008024772591</guid><pubDate>Thu, 21 May 2009 19:18:00 +0000</pubDate><atom:updated>2009-05-21T15:45:28.887-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">iphone xd ux design</category><title>iPhone UX Sketch Templates</title><description>After giving a presentation at 360Flex on the value and necessity of pen and paper sketching and wireframes, I thought I&#39;d eat my own dogfood! I&#39;ve created a simple wireframe document based on the sketchboards from AdaptivePath: &lt;a href=&quot;http://www.adaptivepath.com/ideas/essays/archives/000863.php&quot;&gt;http://www.adaptivepath.com/ideas/essays/archives/000863.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/btgqu/photoshop&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20090521-xhh7939ax7yjqd39bbaid1rau3.preview.jpg&quot; alt=&quot;Photoshop&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Choose your flavor below and get to work on some iPhone UX goodness!&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.erikloehfelm.com/iphone_sketches/iphone_sketchboard.graffle.zip&quot;&gt;Omnigraffle iPhone sketchboard&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.erikloehfelm.com/iphone_sketches/iphone_sketchboard.pdf&quot;&gt;PDF iPhone sketchboard&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.erikloehfelm.com/iphone_sketches/iphone_sketchboard_psd.zip&quot;&gt;Photoshop iPhone sketchboard&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.erikloehfelm.com/iphone_sketches/iphone_sketchboard_eps.zip&quot;&gt;EPS iPhone sketchboard&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.erikloehfelm.com/iphone_sketches/iphone_sketchboard_png.zip&quot;&gt;PNG iPhone sketchboard&lt;/a&gt;</description><link>http://erikloehfelm.blogspot.com/2009/05/iphone-ux-sketch-templates.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-1221025561773098334</guid><pubDate>Thu, 21 May 2009 01:35:00 +0000</pubDate><atom:updated>2009-05-20T22:01:20.929-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">360Flex</category><category domain="http://www.blogger.com/atom/ns#">Flash Catalyst</category><category domain="http://www.blogger.com/atom/ns#">Flex Gumbo</category><title>XD with Flash Catalyst and Flex Gumbo at 360Flex Indy</title><description>Well, &lt;a href=&quot;http://www.360flex.com/&quot;&gt;360Flex&lt;/a&gt; Indianapolis is over. It was a great conference! This was my first 360 conference that I attended. A big, giant shout of thanks to Tom and John for all their efforts on the 360 Conferences! It&#39;s really a wonderful event that any serious Flex or Flash developer should attend. Most of the sessions were quite technical but very approachable.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.merhl.com/&quot;&gt;Joe Johnston&lt;/a&gt;, &lt;a href=&quot;http://www.getfinch.com/&quot;&gt;Francisco Inchauste&lt;/a&gt; (both of &lt;a href=&quot;http://www.universalmind.com/&quot;&gt;UniversalMind&lt;/a&gt;) and I spoke on Experience Design topics and were all very well received. We weren&#39;t sure if the Flex Developers attending would appreciate the topics, but it seemed that they did! Each of us had close to 50 attendees in each of our presentations! I think Joe topped the lot of us with a standing room only preso at 8:30 am on day 2... He gets the attendee award!&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;width:425px;text-align:left&quot; id=&quot;__ss_1467741&quot;&gt;&lt;a style=&quot;font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/eloehfelm/xd-with-flash-catalyst-and-gumbo?type=powerpoint&quot; title=&quot;XD with Flash Catalyst and Gumbo&quot;&gt;XD with Flash Catalyst and Gumbo&lt;/a&gt;&lt;object style=&quot;margin:0px&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=xdcatalystgumbo-090520203928-phpapp02&amp;amp;stripped_title=xd-with-flash-catalyst-and-gumbo&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=xdcatalystgumbo-090520203928-phpapp02&amp;amp;stripped_title=xd-with-flash-catalyst-and-gumbo&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;&quot;&gt;View more &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/eloehfelm&quot;&gt;Erik Loehfelm&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;</description><link>http://erikloehfelm.blogspot.com/2009/05/xd-with-flash-catalyst-and-flex-gumbo.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-1957062756314684372</guid><pubDate>Thu, 16 Apr 2009 05:50:00 +0000</pubDate><atom:updated>2009-04-16T01:56:18.526-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">iphone</category><category domain="http://www.blogger.com/atom/ns#">transparent</category><category domain="http://www.blogger.com/atom/ns#">UIWebView</category><title>Transparent Background on iPhone UIWebView</title><description>Well, Apple has hidden a little nugget in the docs that took me quite some time to dig up. Here&#39;s the simple solution to creating a UIWebView with a transparent background:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;set your background color of the UIWebView to clear&lt;/li&gt;&lt;li&gt;set the css for the body to background-color: transparent&lt;/li&gt;&lt;li&gt;here&#39;s the bugger... set the opaque property of the UIWebView to NO&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The code looks something like this:&lt;br /&gt;&lt;br /&gt;UIWebView *w = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, self.bounds.size.width-20, self.bounds.size.height-60)];&lt;br /&gt;[w setBackgroundColor:[UIColor clearColor]];&lt;br /&gt;[w setOpaque:NO];&lt;br /&gt;[self addSubview:w];&lt;br /&gt;self.myWebView = w;&lt;br /&gt;[w release];&lt;br /&gt;&lt;br /&gt;And in the HTML:&lt;br /&gt;&lt;br /&gt;body {&lt;br /&gt; margin: 0;&lt;br /&gt; padding: 0;&lt;br /&gt; width: 220px;&lt;br /&gt; background-color: transparent;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Hope that helps someone!</description><link>http://erikloehfelm.blogspot.com/2009/04/transparent-background-on-iphone.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-7263124517723106926</guid><pubDate>Wed, 01 Apr 2009 13:01:00 +0000</pubDate><atom:updated>2009-04-12T23:30:16.174-04:00</atom:updated><title>Interaction Design Publication</title><description>&lt;img src=&quot;http://img.skitch.com/20090401-rbgy7n3qp87k47162yjm5c4xkf.jpg&quot; alt=&quot;thoughtsOnInteractionDesign&quot; /&gt;&lt;br /&gt;&lt;br /&gt;My friend and colleague, Joe Force, pointed me to a link this morning that considers and discusses many of the finer points of XD and Interaction Design! &quot;&lt;a href=&quot;http://www.thoughtsoninteraction.com/index.html&quot; target=&quot;_blank&quot;&gt;Thoughts on Interaction Design&lt;/a&gt;&quot; was a book published in 2007 by Brown Bear LLC. There were only 1000 copies printed and a second run is not planned. So, to continue to dialogue, the complete book has been created in a web format for consumption!&lt;br /&gt;&lt;br /&gt;The content is very well positioned and thorough on the topic of Interaction Design. It helps to frame up many of the questions and answers we as XD professionals struggle with each day.&lt;br /&gt;&lt;br /&gt;One of my favorite sections is authored by Chris Connors of Apple:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;When I entered the marketplace as a newly-conferred graduate with a Masters in Human Computer Interaction, I can recall trying to explain to my family and friends exactly what HCI was - something I still occasionally find myself doing. Describing our discipline to potential employers was a recurring challenge: many were confused by a CS degree without production programming, a design degree that didn’t deal primarily with product form, or a cognitive psychologist who wasn’t solely focused on modeling human performance or conducting experimentally-driven usability testing.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I have felt the same lack of understanding and appreciation for what we as XD professionals bring to the table but, the times are changing! It&#39;s encouraging to hear Chris&#39; stories and see that Interaction and Experience Design are being recognized as valuable additions to a product&#39;s life cycle.&lt;br /&gt;&lt;br /&gt;Thank you to all the contributors for their excellent insight!</description><link>http://erikloehfelm.blogspot.com/2009/04/interaction-design-publication.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-5605581492511155610</guid><pubDate>Thu, 12 Mar 2009 14:16:00 +0000</pubDate><atom:updated>2009-03-12T10:26:35.344-04:00</atom:updated><title>YouTube Musician Kutiman Kicking It!</title><description>This is amazing! An artist from Isreal - Kutiman - took some time and &#39;found&#39; YouTube videos of people performing and edited them together to create original pieces.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/b84qe/thru-you-kutiman-mixes-youtube&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20090312-p352igkiecm3fi27w5ykpx7pw7.preview.jpg&quot; alt=&quot;THRU YOU | Kutiman mixes YouTube&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Please take the time to listen to these. It&#39;s an amazing collection of work! &lt;a href=&quot;http://www.thru-you.com&quot;&gt;www.thru-you.com&lt;/a&gt; Here&#39;s his MySpace page as well: &lt;a href=&quot;http://www.myspace.com/kutiman&quot;&gt;http://www.myspace.com/kutiman&lt;/a&gt;</description><link>http://erikloehfelm.blogspot.com/2009/03/youtube-musician-kutiman-kicking-it.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-7922961831439056540</guid><pubDate>Tue, 17 Feb 2009 19:45:00 +0000</pubDate><atom:updated>2009-02-17T14:58:46.781-05:00</atom:updated><title>Augmented Reality - &#39;Living&#39; Flash 3d</title><description>I think I just saw quite possibly one of the coolest things I&#39;ve seen since working on the web: Augmented Reality. The use of Flashpaper3d, a webcam, and FlashPlayer 10. Check out this link for the GE Ecomagination site:&lt;br /&gt;&lt;a href=&quot;http://www.blogger.com/%20http://ge.ecomagination.com/smartgrid/#/augmented_reality&quot;&gt;&lt;br /&gt;http://ge.ecomagination.com/smartgrid/#/augmented_reality&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://img.skitch.com/20090217-qiiysq1ytufwq4rdby1g6um2am.jpg&quot; alt=&quot;ecomagination&quot;/&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell, the effect is created by using the &lt;a href=&quot;http://blog.papervision3d.org/&quot;&gt;Papervision3d&lt;/a&gt; library, a new library called FLARtoolkit &lt;a href=&quot;http://www.libspark.org/wiki/saqoosha/FLARToolKit/en&quot;&gt;http://www.libspark.org/wiki/saqoosha/FLARToolKit/en&lt;/a&gt; and the interaction of your webcam with a printed &#39;marker&#39; page. The page has a unique pattern on it that the Flash environment is &#39;seeing&#39; through the webcam and drawing the Papervision3d objects in place relative to the real paper! Very, very cool stuff!</description><link>http://erikloehfelm.blogspot.com/2009/02/augmented-reality-living-flash-3d.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-3636736417268433972</guid><pubDate>Thu, 05 Feb 2009 22:24:00 +0000</pubDate><atom:updated>2009-02-06T08:31:36.250-05:00</atom:updated><title>Dashcode Browser Back Button Issue</title><description>Wow. I just spent 2 days trying to hunt down a pain in the butt issue with Apple&#39;s Dashcode application. I&#39;m creating a web app version of fx360.com for viewing on the iPhone and would like to make it as iPhone sexy as I can. I&#39;ve been using the Dashcode application from XTools to create the basic framework of my &#39;browser&#39; application.&lt;br /&gt;&lt;br /&gt;All is good for the basics of the app. I&#39;ve created multiple views and have used the standard list controls for usability consistancies. The struggles began when I was customizing the content for the app. I have a design here&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://img.skitch.com/20090205-d7534yqigk8r5hd4s5i57yee66.jpg&quot; alt=&quot;concept&quot; /&gt;&lt;br /&gt;that shows a 15px space at the top of the white background for the content to be placed on. So, when I built this page in Dashcode, (without all of my graphics for background and such) I created a div that had  a 15px margin on the top to create that space. Then I filled that div with my content... Simple right? Not so fast!!&lt;br /&gt;&lt;br /&gt;The issue was that when I clicked on my nav&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://img.skitch.com/20090205-jyjiug4jcfnkie3igk1r3gt7ye.jpg&quot; alt=&quot;fx360_iphone_1&quot; /&gt;&lt;br /&gt;&lt;br /&gt;the first time, my detail page would show up fine. Like the screen shot here that shows a gap at the top of the page (not the full size for the gap but you get the idea):&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://img.skitch.com/20090206-cnmg1scnu69kt4inidf9pf7qhg.jpg&quot; alt=&quot;fx360_iphone_3&quot;/&gt;&lt;br /&gt;&lt;br /&gt;But, if I continue to go back and forth between the detail screen and my selection list, my content page gets pushed down the viewport! If I kept going back and forth it eventually pushed it right out of view... wtf!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://img.skitch.com/20090206-gaucydn4c9mtqcr468aunmidmf.jpg&quot; alt=&quot;fx360_iphone_4&quot;/&gt;&lt;br /&gt;&lt;br /&gt;After much frustration and searching the blogosphere for some help with this issue, I finally figured it out by tracing the entire DOM of the HTML generated by Dashcode as it was running. It seems that either the StackLayout component or the Browser component is adding inline styles to the DIV&#39;s that represent the pages as a user clicks on the navigation list! I also noticed that this style incremented the &#39;top&#39; style for the DIV by 15 pixels each time the HTML traced out... AH HA! So, now I needed to find where in the code this was occuring.&lt;br /&gt;&lt;br /&gt;I found a section in the StackLayout.js file that points to this here:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://img.skitch.com/20090206-jfwpcd3dahxcfxe8qamq86whbm.jpg&quot; alt=&quot;fx360_iphone_5.dcproj (Running)&quot;/&gt;&lt;br /&gt;&lt;br /&gt;It is referencing a _topPosFromBody and curElement.offsetTop properties and adding them together on line 74. This is the closest thing I could find that had a &#39;top&#39; sounding property in it. Unfortunately, the file in the project space within Dashcode is locked so a user can&#39;t edit it! Stupid.&lt;br /&gt;&lt;br /&gt;So, for now, I&#39;ve removed my margin from the top of my placement div so the &#39;offset&#39; is zero. It functions as expected. The larger issue is the way that Apple has released this stuff. The tools seem to be nice and well organized, but there is no documentation on any of the components. No reference as to how their objects are put together. No list of methods, properties, and styles... nothing... anywhere. That&#39;s lame. All of Adobe&#39;s built in objects and components are fully documented and searchable. At the minimum, we should be able to find a reference to these packaged components to see how they are structured from a best practice point of view.</description><link>http://erikloehfelm.blogspot.com/2009/02/dashcode-browser-back-button-issue.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-4857738966400727839</guid><pubDate>Tue, 03 Feb 2009 20:10:00 +0000</pubDate><atom:updated>2009-02-03T15:19:14.138-05:00</atom:updated><title>I&#39;m Speaking at 360|Flex Indy!</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://360flex.com/&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 152px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLHea7sVJYiuyrkozTK38f610H3XyXjlqWRjXWDAmI0VL3EYCbXFdibjvrmV54lDwbDvHbEF0tOUNt0vngmFUc4MwFRIqeJ0xpxY5xsi9lU-xHKcd4zf7D5xVlB56ZDDIqDrFw/s200/360Flex2.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5298668129114914546&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Well, this is pretty exciting: I just got accepted to speak at 360|Flex Indy!  My session is Experience Design with Flash Catalyst and Flex Gumbo. The show is May 18-20, 2009 in Indianapolis.  You can check out the other great 49 speakers on the schedule at: &lt;a href=&quot;http://360conferences.com/360flex/downloads/schedule.pdf&quot; target=&quot;_blank&quot;&gt;http://360conferences.com/360flex/downloads/schedule.pdf&lt;/a&gt; It&#39;s looking like it&#39;s gonna be another great 360|Flex conference.  Tickets are cheaper on a first come, first serve basis! So buy your tickets asap at &lt;a href=&quot;http://360flex.eventbrite.com/&quot; target=&quot;_blank&quot;&gt;http://360flex.eventbrite.com&lt;/a&gt; to get the best possible price. Hope to see you there!</description><link>http://erikloehfelm.blogspot.com/2009/02/im-speaking-at-360flex-indy.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLHea7sVJYiuyrkozTK38f610H3XyXjlqWRjXWDAmI0VL3EYCbXFdibjvrmV54lDwbDvHbEF0tOUNt0vngmFUc4MwFRIqeJ0xpxY5xsi9lU-xHKcd4zf7D5xVlB56ZDDIqDrFw/s72-c/360Flex2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-8825735057154827972</guid><pubDate>Tue, 20 Jan 2009 21:32:00 +0000</pubDate><atom:updated>2009-01-20T16:45:29.799-05:00</atom:updated><title>(RED) Wire Launches</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLC0EShU7MDlu_qmVlISe0HHumgHCihy-oDTBXs6GH92Qcmkk3X8ZaP2h8cpVe1PpGuYMJ53sqfUYd3JXeev4sdLuVRLD1WiBhoYh-QVbBnr59sscLLvLgpSbAu_N6KlJFK_SP/s1600-h/(RED)WIRE.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 368px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLC0EShU7MDlu_qmVlISe0HHumgHCihy-oDTBXs6GH92Qcmkk3X8ZaP2h8cpVe1PpGuYMJ53sqfUYd3JXeev4sdLuVRLD1WiBhoYh-QVbBnr59sscLLvLgpSbAu_N6KlJFK_SP/s400/(RED)WIRE.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5293495328824308066&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The subscription product from (RED) recently launched. It&#39;s a music and awareness subscription that allows users to contribute to the global fight on AIDS/HIV. It was showcased at the Adobe MAX 2008 conference in San Francisco in the Fall as it was built in &lt;a href=&quot;http://www.adobe.com/flex&quot;&gt;Flex&lt;/a&gt; and distributed via &lt;a href=&quot;http://www.adobe.com/air&quot;&gt;AIR&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;You can sign up for an account at &lt;a href=&quot;http://www.redwire.com/&quot;&gt;www.redwire.com&lt;/a&gt;! Check it out.</description><link>http://erikloehfelm.blogspot.com/2009/01/red-wire-launches.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLC0EShU7MDlu_qmVlISe0HHumgHCihy-oDTBXs6GH92Qcmkk3X8ZaP2h8cpVe1PpGuYMJ53sqfUYd3JXeev4sdLuVRLD1WiBhoYh-QVbBnr59sscLLvLgpSbAu_N6KlJFK_SP/s72-c/(RED)WIRE.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-200073066495719745</guid><pubDate>Wed, 10 Dec 2008 15:54:00 +0000</pubDate><atom:updated>2008-12-10T12:12:13.048-05:00</atom:updated><title>Flash Catalyst Tutorial: Weather Widget, Part 4</title><description>Latest files:&lt;br /&gt;&lt;a href=&quot;www.erikloehfelm.com/catalyst_tutorial/weatherWidget_4.fxp.zip&quot;&gt;www.erikloehfelm.com/catalyst_tutorial/weatherWidget_4.fxp.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In Part 4 of our Adobe Flash Catalyst Tutorial, we&#39;ll add some data to the project so that our application can represent a real data set. We wont actually be connecting to an data service for the weather, but you can see how the data would be structured to do so.&lt;br /&gt;&lt;br /&gt;We&#39;ll be focusing on two things in Gumbo: creating a &#39;model&#39; for our data, applying and binding the information in our model to our interface elements.&lt;br /&gt;&lt;br /&gt;We&#39;re using a very loose implementation of a design pattern in our example application called the &quot;model, view, controller&quot; pattern or simply &lt;a href=&quot;http://en.wikipedia.org/wiki/Model-view-controller&quot;&gt;MVC&lt;/a&gt;. You may have heard of this in regards to RIA (Rich Internet Application) development before. What this means in simple terms is that we will be separating our code into sections that represent the model (data), view (interface stuff) and controller (event handlers, functions, logic, etc). By breaking the code up into these groups and having the groups or &#39;packages&#39; organized, we will be creating a structure that allows us to easily edit elements without disturbing or breaking pieces that work - ie. changing interface elements without affecting the functions behind them.&lt;br /&gt;&lt;br /&gt;Here are the steps I&#39;ve taken to get to the latest version of the project.&lt;br /&gt;&lt;br /&gt;In Adobe Flex &#39;Gumbo&#39;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Import the .fxp project&lt;/li&gt;&lt;li&gt;Go to File &gt; New &gt; ActionScript Class&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/6dsx/newweatherdatamodelclass&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20081210-h9ss2chqus63bc7jxy7mpcu7a.preview.jpg&quot; alt=&quot;newWeatherDataModelClass&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(128, 128, 128);font-family:Lucida Grande,Trebuchet,sans-serif,Helvetica,Arial;font-size:10;&quot;  &gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com/&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;fill in the appropriate information into the form&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;You should now have a new class document named &#39;WeatherDataModel&#39;. We&#39;ll be creating a singleton - a class that has one and only one instance - for this class. We do this so that we have one point of contact for our data in the application.&lt;br /&gt;&lt;br /&gt;&lt;script src=&quot;http://gist.github.com/34371.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;The function &#39;getInstance()&#39; allows us to access this class from anywhere in our application by stating:&lt;br /&gt;&lt;br /&gt;WeatherDataModel.getInstance();&lt;br /&gt;&lt;br /&gt;Nice! Next we&#39;ll add an actual data set to use. We&#39;ll define an XML document as our data source, but you could easily adjust this to any data type you&#39;d like.&lt;br /&gt;&lt;br /&gt;&lt;script src=&quot;http://gist.github.com/34372.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;Now we have a data model with actual data in it. Lets move on to binding this data to our view. Open the cityComponent.mxml file. We are going to add some code to the Script tag:&lt;br /&gt;&lt;br /&gt;&lt;script src=&quot;http://gist.github.com/34374.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;Notice how simple it is to reference the model now! We bind the model&#39;s data to our visual elements toward the bottom of the page. Move down the file until you see the code for the TextGraphics in the &#39;current&#39; Group. We&#39;ll adjust the parameters to the following:&lt;br /&gt;&lt;br /&gt;&lt;script src=&quot;http://gist.github.com/34378.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;When we use the curly braces in a parameter like this:&lt;br /&gt;&lt;br /&gt; text=&quot;{ model.cityData.city[model.currentCity].name }&quot;&lt;br /&gt;&lt;br /&gt;we are binding the information to this view. If the information changes, the view updates. In this case, we defined &#39;model&#39; as our WeatherDataModel. model.cityData points to the XML that we&#39;ve defined in the model and then we traverse the XML tree to get the value we&#39;d like to display.&lt;br /&gt;&lt;br /&gt;Now we need to display the day and the hi and low for each day in our list below the current weather. Move down a few rows in the cityComponent.mxml document to the list of 7 component:dayComponent nodes. These represent the 7 day forecast list. We&#39;ll adjust that code to the following:&lt;br /&gt;&lt;br /&gt;&lt;script src=&quot;http://gist.github.com/34384.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;We&#39;ve just bound each of the dayComponents to the same data model! If you save all your files and test the application, you should now see something like this:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/6d4w/mozilla-firefox&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20081210-g38pqijtr2nybayppwc4gjpa5d.preview.jpg&quot; alt=&quot;Mozilla Firefox&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Our application now has &#39;real&#39; data bound to the interface elements. Stay tuned for more Adobe Flex Catalyst and Flex Gumbo goodness!</description><link>http://erikloehfelm.blogspot.com/2008/12/flash-catalyst-tutorial-weather-widget_10.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-6065601823534432031</guid><pubDate>Thu, 04 Dec 2008 19:27:00 +0000</pubDate><atom:updated>2008-12-04T14:35:38.782-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">css</category><category domain="http://www.blogger.com/atom/ns#">design</category><category domain="http://www.blogger.com/atom/ns#">editorial design</category><category domain="http://www.blogger.com/atom/ns#">fonts</category><title>CSS Body Typography Samples</title><description>I just stumbled upon a nice example of some body copy styles applied in CSS:&lt;br /&gt;&lt;a href=&quot;http://jontangerine.com/silo/typography/p/&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;http://jontangerine.com/silo/typography/p/ &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s interesting to see the subtle changes in readability that leading and alignment can make to a block of text. Makes me think back to my days in editorial design and how things seemed to be simpler back then :)&lt;br /&gt;&lt;br /&gt;This was a bit of new information to me:&lt;br /&gt;&lt;br /&gt;p + p {&lt;br /&gt;text-indent: 1em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The use of the &#39;p + p&#39; to define a style. I hadn&#39;t used that before but will now that I know it&#39;s usage and availability! Check out the drop cap example at the bottom... sweet! Too bad that IE doesn&#39;t support it very well. What a surprise.</description><link>http://erikloehfelm.blogspot.com/2008/12/css-body-typography-samples.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-3137171413979769039</guid><pubDate>Wed, 03 Dec 2008 02:49:00 +0000</pubDate><atom:updated>2008-12-10T12:12:55.458-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Flash Catalyst</category><category domain="http://www.blogger.com/atom/ns#">Flex Gumbo</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><title>Flash Catalyst Tutorial: Weather Widget, Part 3</title><description>Download the file for this part here: &lt;br /&gt;&lt;a href=&quot;http://www.erikloehfelm.com/catalyst_tutorial/weatherWidget_3.fxp.zip&quot;&gt;weatherWidget_3.fxp&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.erikloehfelm.com/catalyst_tutorial/weather1.ai.zip&quot;&gt;weather1.ai&lt;/a&gt;&lt;br /&gt;Previous tutorial posts:&lt;br /&gt;&lt;a href=&quot;http://erikloehfelm.blogspot.com/2008/11/flash-catalyst-tutorial-weather-widget_25.html&quot;&gt;Part 2&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://erikloehfelm.blogspot.com/2008/11/flash-catalyst-tutorial-weather-widget.html&quot;&gt;Part 1&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;Skinning&lt;/h3&gt;&lt;br /&gt;In this part of our project, I will begin to skin the widget with a graphical treatment similar to the Apple iPhone application. We&#39;ll be designing our skin in Adobe Illustrator due to the supported round trip features in the beta release. Normally, I would design these type of skins in Fireworks - I&#39;m more familiar with the drawing and creation tools in Fireworks.&lt;br /&gt;&lt;br /&gt;In Illustrator&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;create a new document in Illustrator&lt;/li&gt;&lt;br /&gt;&lt;li&gt;draw a black background box on the stage 250px wide x 400px tall to match the size of our widget&lt;/li&gt;&lt;br /&gt;&lt;li&gt;draw a rounded rectangle that is slightly smaller than the background box with a dark blue color and a heavy light colored border&lt;/li&gt;&lt;br /&gt;&lt;li&gt;name this layer with an appropriate name - blueBack&lt;/li&gt;&lt;br /&gt;&lt;li&gt;copy blueBack layer and paste. change the color to a grey color for the background and for the lighter rule. this background will be for the &#39;back&#39; of our widget&lt;/li&gt;&lt;br /&gt;&lt;li&gt;name this layer - greyBack&lt;/li&gt;&lt;br /&gt;&lt;li&gt;create 7 rectangles 230px wide x 30px tall for the background color of each of the days in the list&lt;/li&gt;&lt;br /&gt;&lt;li&gt;alternate the color of the seven rectangles to represent an alternating list of items&lt;/li&gt;&lt;br /&gt;&lt;li&gt;name these rectangles row1-row7&lt;/li&gt;&lt;br /&gt;&lt;li&gt;create a small white circle in the lower right corner of the interface for the &#39;flip button&#39;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;place the text &#39;i&#39; on the white circle to represent &#39;info&#39;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;group the white circle and the &#39;i&#39; and call the group infoButton&lt;/li&gt;&lt;br /&gt;&lt;li&gt;save your work&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/7muf/fullscreen&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20081203-guk9a6bsqu7jiyj4i8h666ieys.preview.jpg&quot; alt=&quot;Fullscreen&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Rather than starting from scratch with an import of our Illustrator document, we&#39;ll be copying and pasting our design elements into our current work in the Catalyst document.&lt;br /&gt;&lt;br /&gt;In Illustrator&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;select the blueBack and row1-row7 layers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;copy these layers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;switch to Flash Catalyst&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;In Flash Catalyst&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;click on the direct select tool - the white arrow&lt;/li&gt;&lt;br /&gt;&lt;li&gt;double click on the cityComponent to edit it in place - you should see the grey chevrons around the component and see the crumb trail in the upper left and see cityComponent as the right most item&lt;/li&gt;&lt;br /&gt;&lt;li&gt;paste the copied Illustrator items in the cityComponent&lt;/li&gt;&lt;br /&gt;&lt;li&gt;to make the items easy to move, group them and name the group graphics&lt;/li&gt;&lt;br /&gt;&lt;li&gt;move the graphics layer to the bottom of the list in the component&#39;s layers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;adjust the position to your liking&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/7muk/fullscreen&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20081203-81iefd9s6ny9m71iru1qxjx5ex.preview.jpg&quot; alt=&quot;Fullscreen&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;At this point, you should see the background image in place with the day components laying in place over the rectangles for the alternating days. You might need to adjust the position of those layers to space them evenly. You can do that either in Illustrator or in Catalyst. Next we&#39;ll define our info button graphics.&lt;br /&gt;&lt;br /&gt;In Flash Catalyst&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;select the direct select tool - white arrow&lt;/li&gt;&lt;br /&gt;&lt;li&gt;double click on the round button in the lower right of the interface&lt;/li&gt;&lt;br /&gt;&lt;li&gt;in the HUD click on the &#39;edit button appearance&#39; &#39;up&#39; button. this will open up the four states for the button component and list the button in the crumb trail&lt;/li&gt;&lt;br /&gt;&lt;li&gt;briefly switch to Illustrator and copy the infoButton graphics group&lt;/li&gt;&lt;br /&gt;&lt;li&gt;switch back to Catalyst and paste the graphics into the &#39;up&#39; state for the button&lt;/li&gt;&lt;br /&gt;&lt;li&gt;paste the graphics in each of the button states or select the small colored box in the layers palette for each of the states to copy them over&lt;/li&gt;&lt;br /&gt;&lt;li&gt;change the colors of the background layers for each of the states by selecting the state and selecting the background layer. change it&#39;s color with the HUD&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/7muc/fullscreen&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20081203-qk3adyiwqid2igfwrbedkiinhu.preview.jpg&quot; alt=&quot;Fullscreen&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;To make the rounded rectangle background stand out a bit more, we&#39;ll add a black background to the component in both states. You can either draw this layer and put it to the lowest layer in Catalyst, or draw it in Illustrator and copy and paste it like the steps above.&lt;br /&gt;&lt;br /&gt;For the second state - chooseCity - we&#39;ll want to have a background with a rounded rectangle that has a bit of a different color to it to make the transition from the front to the back more dynamic. We created a greyBack layer in Illustrator so copy and paste that layer to the back of the choose city state. It should be placed to the bottom of the cityListGroup in Layer 1 in the layers palette.&lt;br /&gt;&lt;br /&gt;If you test the application you&#39;ll see the blue background in place with the button graphics. Click on the button to see the transition we&#39;ve previously built with the &#39;backside&#39; color applied.</description><link>http://erikloehfelm.blogspot.com/2008/12/flash-catalyst-tutorial-weather-widget.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-1864185517089025445</guid><pubDate>Wed, 26 Nov 2008 03:10:00 +0000</pubDate><atom:updated>2008-11-26T09:07:40.315-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">design</category><category domain="http://www.blogger.com/atom/ns#">developer</category><category domain="http://www.blogger.com/atom/ns#">experience design</category><category domain="http://www.blogger.com/atom/ns#">Flash Catalyst</category><category domain="http://www.blogger.com/atom/ns#">flex</category><category domain="http://www.blogger.com/atom/ns#">Flex Gumbo</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><title>Flash Catalyst Tutorial: Weather Widget, Part 2</title><description>&lt;p&gt;Download the current .fxp file here: &lt;a href=&quot;http://www.erikloehfelm.com/catalyst_tutorial/weatherWidget_2.fxp.zip&quot;&gt;weatherWidget_2.fxp&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To view part 1 of this tutorial, &lt;a href=&quot;http://erikloehfelm.blogspot.com/2008/11/flash-catalyst-tutorial-weather-widget.html&quot;&gt;click here&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Designing the Second State&lt;/h3&gt;&lt;p&gt;In this part of our project, the designer is planning on adding some more elements to our wireframe to begin to flesh out the experience design (XD) of the application. In the iPhone and Dashboard versions of the weather widget, the &#39;back side&#39; of the application has a function to choose which cities you&#39;d like to track the weather for. Our designer decides to begin with this part of the app.&lt;/p&gt;&lt;p&gt;In Flash Catalyst, our designer opens up the .fxp file and creates a new blank state by clicking on the &#39;New Blank Slate&#39; button in the Pages/States panel. Interface elements are placed in the new state and a state title of &#39;chooseCity&#39; is given to this second state. In the chooseCity state the user is presented with a list of current cities that are being tracked in a scrolling list. Each item in this list has the name of the city and a button to remove the city from the list. There is also a button to add a new city at the top of the interface as well as a button to go back to the previous view. All of the UI elements are placed on the stage. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/haii/adobe-flash-catalyst-weatherwidget-2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20081126-cu524ugb8x6jdhm44fru69yk6h.preview.jpg&quot; alt=&quot;Adobe Flash Catalyst - weatherWidget_2&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Next, our designer realizes that the scrolling list will have more than one city listed for a typical user. Since the items in the list will be similar, he decides to make this a Custom Component... good call! We create the custom component in the same way we created the dayComponent in the first part - select all the items for the component (remove button, city title, surrounding box) and click on the &#39;Convert Artwork to Component &gt; Custom/Generic Component&#39; in the heads up display (HUD).&lt;/p&gt;&lt;p&gt;Now that our second state wireframe is complete, we&#39;ll build the transition from one state to the next. For those of you that attended MAX in San Francisco and were lucky enough to get into the hands-on lab with Catalyst, you&#39;ll recognize the transition we&#39;re going to build. It is a rotational transition that makes the application flip over like a card to show the &#39;back side&#39; of the app. This is the same transition that Apple uses on the iPhone and in Dashboard.&lt;/p&gt;&lt;p&gt;Begin by having the Timeline panel viewable - double clicking on the tab works if it&#39;s collapsed. Because we had Auto Effects for New Transitions checked by default in Flash Catalyst (it&#39;s in the Timelines menu) you should see some standard fade transitions between the 2 states. All the way to the left in the Timeline panel you will see 2 State Transitions - View City &gt; Choose City and Choose City &gt; View City. These represent the names of the 2 view states we&#39;ve defined so far. We added 2 actions to each state transition - Rotate 3D - by clicking on the row for the item to be transitions (city and cityListGroup) and then clicking on the &#39;Add Action &gt; Rotate 3D&#39; button. We then selected each Rotate transition and changed the values to the ones in the diagrams below in the HUD. For the second state transition (the one that goes back to the viewCity state) we just reversed the order of the transitions.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/hai5/transition-1&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081126-pe2f6bs7ai3ry37fnpqu63mieb.preview.jpg&quot; alt=&quot;transition_1&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/hai9/transition-2&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081126-m95y1aq4x75uaqfdurac9ja4hn.preview.jpg&quot; alt=&quot;transition_2&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;To trigger the interactivity for the transitions, our designer selects the round button in the first state, and adds a transition to second state interaction. On the second state, the back button is selected and an interaction is set to go back to the first state. If you run the application, you will see a transition like the one below. (click image to play movie)&lt;/p&gt;&lt;object width=&quot;334&quot; height=&quot;424&quot; classid=&quot;clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B&quot; codebase=&quot;http://www.apple.com/qtactivex/qtplugin.cab&quot;&gt;&lt;br /&gt; &lt;param name=&quot;src&quot; value=&quot;http://www.erikloehfelm.com/catalyst_tutorial/wireframeFlip1-poster.jpg&quot;&gt;&lt;br /&gt; &lt;param name=&quot;href&quot; value=&quot;http://www.erikloehfelm.com/catalyst_tutorial/wireframeFlip1.mov&quot;&gt;&lt;br /&gt; &lt;param name=&quot;target&quot; value=&quot;myself&quot;&gt;&lt;br /&gt; &lt;param name=&quot;controller&quot; value=&quot;true&quot;&gt;&lt;br /&gt; &lt;param name=&quot;autoplay&quot; value=&quot;false&quot;&gt;&lt;br /&gt; &lt;param name=&quot;scale&quot; value=&quot;aspect&quot;&gt;&lt;br /&gt; &lt;embed width=&quot;334&quot; height=&quot;424&quot; type=&quot;video/quicktime&quot; pluginspage=&quot;http://www.apple.com/quicktime/download/&quot;  src=&quot;http://www.erikloehfelm.com/catalyst_tutorial/wireframeFlip1-poster.jpg&quot; href=&quot;http://www.erikloehfelm.com/catalyst_tutorial/wireframeFlip1.mov&quot; target=&quot;myself&quot; controller=&quot;true&quot; autoplay=&quot;false&quot; scale=&quot;aspect&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;h3&gt;Handoff to the Developer&lt;/h3&gt;&lt;p&gt;The designer is satisfied with the transitions and basic wireframe positioning of elements and saves his .fxp and hands off to the developer again. Our developer realizes that some changes have been made to our project with a warning presented to him in Gumbo on import of our updated .fxp file. He accepts the changes as none are critical to the functionality already built.&lt;/p&gt;&lt;p&gt;The first thing our developer does is to rename the newCustomComponent that our designer created in Catalyst - I&#39;m hoping that Catalyst will allow you to declare class names in the future so as not to require that as part of the workflow - so that our naming conventions are consistent with one another.&lt;/p&gt;&lt;p&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/ha3c/weatherwidgettutorial-2-4&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081126-e1tgxubegsj9hcca9uyn5s7cx7.preview.jpg&quot; alt=&quot;weatherWidgetTutorial_2_4&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;After digging into the created code a bit, our developer realizes that the button component that our designer created to transition from state 1 to state 2 is just &#39;floating&#39; in state 1 and not part of a group or custom component. He thinks that might not be the best way to have this button represented and decides to place it into the group on state 1. The problem is, when doing this, it becomes difficult to access the state transition that occurs 1 level up in the display list chain. There is no event that would allow us to track this user interaction so a custom event class is created: FlipEvent.&lt;/p&gt;&lt;p&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/ha3a/weatherwidget-tutorial-2-5&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081126-bh1wx5dud137h137nwnf3616gf.preview.jpg&quot; alt=&quot;weatherWidget_tutorial_2_5&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;Our developer opens the cityComponent class and adds a few lines of code to include the new custom FlipEvent we&#39;ve created. He ties that to the button - hmm, gotta&#39; rename that button ;) - which triggers a function to dispatch our new event.&lt;/p&gt;&lt;p&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/ha37/weatherwidget-tutorial-2-6&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081126-fphj8x3mqe4eypghih8ki27qy3.preview.jpg&quot; alt=&quot;weatherWidget_tutorial_2_6&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;Because our cityComponent is now set up to dispatch our &#39;flip&#39; event, we can listen for that event in our application! In the weatherWidget_2 file, we add some code to listen for the event to be triggered. Rather than setting up a function to be called to switch the states of the app, we&#39;re using a shorthand for that by using the {} with our expression embedded in it to switch the currentState property.&lt;/p&gt;&lt;p&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/ha4r/flex-development-weatherwidget-2-src-weatherwidget-2.mxml-flex-builder-gumbo-users-erik-documents-gumbo-max-preview&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081126-xg7wq5ijwt2e66gxdpihj773nm.preview.jpg&quot; alt=&quot;Flex Development - weatherWidget_2/src/weatherWidget_2.mxml - Flex Builder Gumbo - /Users/erik/Documents/Gumbo MAX Preview&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;When we test our application now, we have the same effect as displayed in Catalyst, but we are now using a custom event to trigger our transition.&lt;/p&gt;&lt;p&gt;Part 3 - Let&#39;s get some skin on this sucker!&lt;/p&gt;</description><link>http://erikloehfelm.blogspot.com/2008/11/flash-catalyst-tutorial-weather-widget_25.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-1005005428090710940</guid><pubDate>Tue, 25 Nov 2008 02:26:00 +0000</pubDate><atom:updated>2008-11-24T22:55:44.427-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">design</category><category domain="http://www.blogger.com/atom/ns#">experience design</category><category domain="http://www.blogger.com/atom/ns#">Flash Catalyst</category><category domain="http://www.blogger.com/atom/ns#">flex</category><category domain="http://www.blogger.com/atom/ns#">Flex Gumbo</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">user experience</category><title>Flash Catalyst Tutorial: Weather Widget, Part 1</title><description>&lt;p&gt;I&#39;ve been playing with Flash Catalyst for a few days now and have a pretty good handle on the basics. I was scrounging around the web trying to find a tutorial or any sample files anyone had done with the MAX release of the software, but have not been able to find one. So, I thought I&#39;d put one together myself and share.&lt;/p&gt;&lt;p&gt;The idea for this sample is to try to emulate and demonstrate the capabilities of Flash Catalyst, Flex Gumbo, and the designer/developer workflow. I hope that I am accurate on my assumptions for the software and it&#39;s best practices - given that it has only been in the public eye for a week or so. Please feel free to comment on suggestions and ideas for the tools and techniques. On with the show!&lt;/p&gt;&lt;h3&gt;Catalyst Weather Widget&lt;/h3&gt;&lt;p&gt;The current .fxp document: &lt;a href=&quot;http://www.erikloehfelm.com/weatherWidget.fxp.zip&quot;&gt;weatherWidget.fxp.zip&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Our client has asked us to build a weather widget application to have on their travel site. They love the iPhone and would like us to build an application that very closely emulates the functionality and design of the iPhone&#39;s built in weather application.&lt;/p&gt;&lt;p&gt;The first step in our process will be to create wireframes of the application. In our wireframe, we will capture all of the major sections of content and their basic placement within the constraints of the application footprint. Our designer opens up Flash Catalyst and begins to block out areas for data and imagery.&lt;/p&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/hwb2/catalyst-weatherwidget-1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://img.skitch.com/20081125-q7kmnkatwgp8kd9ka5xuss3kqe.preview.jpg&quot; alt=&quot;catalyst_weatherWidget_1&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;p&gt;All of the sections were placed on the Catalyst canvas using the tools in the toolbar (box, text field, circle). The top section was created first with a text holder for the city, the hi and low for the day, the current temperature and an area for the current weather graphic (snow, rain, sunny, etc). This section was then grouped to make it easier to move around the stage.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Create the dayComponent&lt;/strong&gt;&lt;br /&gt;Next, the designer created 1 day section by laying down a rectangle for the surrounding box, text holders for the day, the hi and the lo, and a box to serve as a placeholder for the forecasted weather graphic. The day section contents were then converted into a custom component by selecting &#39;Convert Artwork to Component&#39; &gt; &#39;Custom/Generic Component&#39; from the heads up display (HUD). Our designer duplicated the new dayComponent 6 times and spaced them evenly down the space to represent each of the days of the following week of forecasts.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Create the cityComponent&lt;/strong&gt;&lt;br /&gt;After returning to the main stage by clicking on the leftmost link (not sure what this is called exactly, but it&#39;s the crumb trail that is displayed immediately below the &#39;Pages/States&#39; section in the interface), our designer selects all of the contents of the application that have been built so far. This includes the top section (in a group), the seven day components, and the little round button on the lower right. With all the items selected, we again convert into a custom component by selecting &#39;Convert Artwork to Component&#39; &gt; &#39;Custom/Generic Component&#39; from the HUD. We now have a cityComponent as a custom component that is made up of a top section and seven embedded dayComponents... looking good!&lt;/p&gt;&lt;p&gt;When we test our application at this point, the wireframe has the correct positioning for it&#39;s components but not much else. Because the dayComponents are all the same, and Catalyst doesn&#39;t support and UI based logic statements, it&#39;s time to put our code hats on!&lt;/p&gt;&lt;h3&gt;Handoff to Flex Gumbo #1&lt;/h3&gt;&lt;p&gt;Our first step of our developer is to import the Flash Catalyst .fxp file. When we do, we&#39;re presented with a Flex Package Explorer that looks something like this:&lt;/p&gt;&lt;br /&gt;&lt;img src=&quot;http://img.skitch.com/20081125-fnjp5xw1ssne2w9gc7q7mkn7mp.jpg&quot; alt=&quot;Flex Development - weatherWidget/src/weatherWidget.mxml - Flex Builder Gumbo - /Users/erik/Documents/Gumbo MAX Preview&quot; target=&quot;_blank&quot;/&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Editing the dayComponent.mxml&lt;/strong&gt;&lt;br /&gt;Our first task is to add some mechanism to dynamically name the component text areas within our application. We&#39;ll do this in Flex using databinding and with some custom parameters. At the top of the dayComponent file, we&#39;ll add some &amp;lt;Script&amp;gt; tags and define 3 variables for the textfields in our component - day, hi and lo. Then, we go to each &amp;lt;TextGraphic&amp;gt; tag and find the &#39;text&#39; attribute. This defines the text to be displayed in our component. We use the binding symbol of curly braces &#39;{ }&#39; and place the names of our variables on the appropriate TextGraphic tag.&lt;/p&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/hwrb/flex-development-weatherwidget-src-components-daycomponent.mxml-flex-builder-gumbo-users-erik-documents-gumbo-max-preview&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081125-m9tkn33age1n8tt1f11x8hy2t1.preview.jpg&quot; alt=&quot;Flex Development - weatherWidget/src/components/dayComponent.mxml - Flex Builder Gumbo - /Users/erik/Documents/Gumbo MAX Preview&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Editing the cityComponent.mxml&lt;/strong&gt;&lt;br /&gt;Next, we open our cityComponent.mxml document and add the code required for this to be dynamic. We add another Script section to the top of our document, this time including the city, dayHi, dayLo, and currentTemp as variables to display in the top section of the interface. Down on line 37, we replace our text parameters with our curly brace friend and the appropriate variable name. You&#39;ll notice that our developer wanted to keep the &#39;H:&#39; and &#39;L:&#39; as prefixes to the hi and lo information in the design. The way that is done is with string concatenation which is indicated here by this code:&lt;/p&gt;&lt;p&gt;text=&quot;{&#39;H: &#39;+dayHi}&quot;&lt;/p&gt;&lt;p&gt;Basically, that states - take the letters &#39;H&#39;, &#39;:&#39;, and a space and then add to that string, the value of dayHi.. easy peasy!&lt;/p&gt;&lt;p&gt;Now then. Since we&#39;ve already edited our dayComponent.mxml to include a new variable called day (check out the screen shot from above) we can add values for those names in our cityComponent file! The next blocked out section in the diagram shows the dayComponent placed on the stage and at the end of each line a &#39;day&#39; variable is being defined. One of the cool things about using Flex Builder is the fact that because we&#39;ve defined this variable in our dayComponent &#39;class&#39;, Flex Builder code hints this new variable for us to fill out... less typing = happy carpal tunnel ;)&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/hwrc/flex-development-weatherwidget-src-components-citycomponent.mxml-flex-builder-gumbo-users-erik-documents-gumbo-max-preview&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081125-b4mta8q2t8xhqdmtema14hy86f.preview.jpg&quot; alt=&quot;Flex Development - weatherWidget/src/components/cityComponent.mxml - Flex Builder Gumbo - /Users/erik/Documents/Gumbo MAX Preview&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Editing the weatherWidget.mxml&lt;/strong&gt;&lt;br /&gt;Last part of our first handoff is for our developer to open the weatherWidget.mxml document and define the variables that he has created. We define the city, currentTemp, dayHi and dayLo on our cityComponent tag.&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/hwfy/flex-development-weatherwidget-src-weatherwidget.mxml-flex-builder-gumbo-users-erik-documents-gumbo-max-preview&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081125-jujjnq9w5qia6p1pc39k8pkpx5.preview.jpg&quot; alt=&quot;Flex Development - weatherWidget/src/weatherWidget.mxml - Flex Builder Gumbo - /Users/erik/Documents/Gumbo MAX Preview&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;OK. We&#39;ve had our designer create a basic wireframed application - blocking out areas of content and imagery. When our designer runs the application out of Flash Catalyst, the blocked out areas are correct, but all the names of the days are the same and information is &#39;hard coded&#39; into the text fields. Our developer picks up the .fxp file from our designer and he adds a few simple lines of binded variables and scripting code. When our application is run now, the names of the days are &#39;dynamically&#39; placed and the application has the basic structure we&#39;ll need for further steps.&lt;/p&gt;&lt;p&gt;If you open the weatherWidget.fxp document in Flash Catalyst, you&#39;ll notice a strange looking thing - What is up with those long curly braced names?&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;thumbnail&quot;&gt;&lt;a href=&quot;http://skitch.com/eloehfelm/hwfk/adobe-flash-catalyst-weatherwidget&quot; target=&quot;_blank&quot; &gt;&lt;img src=&quot;http://img.skitch.com/20081125-mpdkw572x165wjatg29ka7xi2m.preview.jpg&quot; alt=&quot;Adobe Flash Catalyst - weatherWidget&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080&quot;&gt;Uploaded with &lt;a href=&quot;http://plasq.com/&quot;&gt;plasq&lt;/a&gt;&#39;s &lt;a href=&quot;http://skitch.com&quot;&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Remember, our developer replaced the names of our &#39;hard-coded&#39; values with binding variables. If you dig into the components in Flash Catalyst, you&#39;ll see that the text name in the HUD&#39;s are now the binding names from Flex Gumbo with the curly braces... aha! So don&#39;t change them, or our developer friend will have to change them back again. Actually, when the developer re-imports the .fxp after we do some more designing, he&#39;ll have the option to write over changes or not, so I guess that last statement is up to your normal workflow process you have at your gig.&lt;/p&gt;&lt;p&gt;The current .fxp document: &lt;a href=&quot;http://www.erikloehfelm.com/weatherWidget.fxp.zip&quot;&gt;weatherWidget.fxp.zip&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Stay tuned for Part 2!&lt;/p&gt;</description><link>http://erikloehfelm.blogspot.com/2008/11/flash-catalyst-tutorial-weather-widget.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-7422946063432926122</guid><pubDate>Mon, 24 Nov 2008 16:45:00 +0000</pubDate><atom:updated>2008-11-24T11:50:27.824-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adobe</category><category domain="http://www.blogger.com/atom/ns#">flex</category><title>Tour de Flex: Great AIR App for Flex Developers</title><description>One nice utility application that was released at the MAX conference this year was the Tour de Flex AIR application. It&#39;s a great utility for referencing Flex and AIR objects and API&#39;s. You can download it by clicking on the badge below:&lt;br /&gt;&lt;br /&gt;&lt;iframe width=&quot;216&quot; height=&quot;182&quot; frameborder=0 scrolling=&quot;no&quot; src=&quot;http://tourdeflex.adobe.com/badge/&quot;&gt;&lt;/iframe&gt;</description><link>http://erikloehfelm.blogspot.com/2008/11/great-utility-air-app-for-flex.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-6103934044861386302</guid><pubDate>Fri, 21 Nov 2008 17:45:00 +0000</pubDate><atom:updated>2008-11-24T11:52:05.154-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adobe</category><category domain="http://www.blogger.com/atom/ns#">design</category><category domain="http://www.blogger.com/atom/ns#">experience design</category><category domain="http://www.blogger.com/atom/ns#">flash</category><category domain="http://www.blogger.com/atom/ns#">Flash Catalyst</category><category domain="http://www.blogger.com/atom/ns#">flex</category><title>Flash Catalyst in the Wild!</title><description>Adobe released a &#39;MAX Preview&#39; of the anxiously awaited Flash Catalyst (Thermo) this year at the MAX conference. Catalyst is a design centric application that allows a designer to work in tools they are graphically comfortable in - Photoshop, Fireworks, Illustrator - and import them into Catalyst to add expressive functionality all the while creating a working Flex application.&lt;br /&gt;&lt;br /&gt;The preview is well executed but does have a &#39;raw&#39; feel to it. The full application is not expected for a year... or at least that was the general statement from Adobe folks. There are a limited number of components available at this time but when the application reaches a public beta, I would expect quite a few more to be added.&lt;br /&gt;&lt;br /&gt;The one thing that Catalyst does seem to be ready for right now is it&#39;s use as a wireframing tool! In fact, Catalyst might be THE wireframing tool of choice for experience design professionals. On the flight home from San Francisco, I was able to make 5 or 6 different versions of an application that &lt;a href=&quot;http://undertheinfluenceofdesign.wordpress.com/&quot;&gt;Christian&lt;/a&gt;, &lt;a href=&quot;http://www.merhl.com&quot;&gt;Joe&lt;/a&gt;, and I have been kicking around! These are fully immersive wireframe models with clickable areas and transitions from state to state. They give the very lo-fidelity prototype &#39;teeth&#39; that can be evaluated and iterated upon. It&#39;s exciting to see the potential! I&#39;ll post screen shots and some samples soon.</description><link>http://erikloehfelm.blogspot.com/2008/11/flash-catalyst-in-wild.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-8251417757262430067</guid><pubDate>Fri, 21 Nov 2008 17:41:00 +0000</pubDate><atom:updated>2008-11-21T12:44:54.746-05:00</atom:updated><title>Chrysler Didn&#39;t Win at MAX</title><description>Oh well. The Chrysler application that we from Knoware worked on last year did not win the MAX award at this year&#39;s Adobe MAX conference. But, it was an honor to be involved with a project that was nominated none the less! &lt;a href=&quot;http://www.scrapblog.com&quot;&gt;Scrapblog.com&lt;/a&gt; was the winning entry in the section that the Chrysler application was up for. Congrats to Scrapblog and their excellent RIA!</description><link>http://erikloehfelm.blogspot.com/2008/11/chrysler-didnt-win-at-max.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-4078786895762359157</guid><pubDate>Mon, 10 Nov 2008 14:11:00 +0000</pubDate><atom:updated>2008-11-10T09:47:41.485-05:00</atom:updated><title>Woohoo! Adobe MAX Awards Chrysler wiTech AIR app</title><description>&lt;a href=&quot;http://www.merhl.com&quot;&gt;Joe Johnston&lt;/a&gt; of &lt;a href=&quot;http://www.universalmind.com/&quot;&gt;Universal Mind&lt;/a&gt; forwarded a link to me the other day regarding the &lt;a href=&quot;http://max.adobe.com/na/experience/#?s=5&amp;p=3&quot;&gt;Adobe MAX Awards for 2008&lt;/a&gt;. One of the finalists in the contest for the RIA category is an application that Joe, &lt;a href=&quot;http://undertheinfluenceofdesign.wordpress.com/&quot;&gt;Christian Saylor&lt;/a&gt;, &lt;a href=&quot;http://tttechblog.blogspot.com/&quot;&gt;Tim Todish&lt;/a&gt;, &lt;a href=&quot;http://blog.thinkxd.com/&quot;&gt;Grant Carmichael&lt;/a&gt;, Mike Kopchick and I worked on back in the day - Chrysler&#39;s wiTech Auto Diagnostic AIR application. Our team worked with the team at &lt;a href=&quot;http://www.atomicobject.com/&quot;&gt;Atomic Object&lt;/a&gt; on the original proof of concept as well as a good portion of the final build.&lt;br /&gt;&lt;br /&gt;This application was built to display the diagnostics of a vehicle when the mechanic hooks the car up to the &#39;computer&#39;. Joe, Tim, Christian, Grant, Mike and I worked on this back when we were all at Knoware. Jim Mitchell was our point person over at Chrysler when we worked on this app. Congrats to Jim and the Chrysler crew for all the hard work on the completed app!&lt;br /&gt;&lt;br /&gt;Big props to Joe, Christian, Tim, Grant, Mike and the AO crew for all their work on the app - since the original team is nowhere to be seen in the award entry on the MAX site... bummer!</description><link>http://erikloehfelm.blogspot.com/2008/11/woohoo-adobe-max-awards-chrysler-witech.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-1631695727623932944</guid><pubDate>Thu, 02 Oct 2008 13:17:00 +0000</pubDate><atom:updated>2008-11-10T09:11:46.030-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">funny</category><category domain="http://www.blogger.com/atom/ns#">Sarah Silverman</category><category domain="http://www.blogger.com/atom/ns#">vote</category><title>Here we go...</title><description>As we all know, it&#39;s about that time again. Do we change what we&#39;re going to do as a country moving forward, or do we stay the course and weather the storm? No matter what side of the coin you&#39;re on, voice yourself with your vote.&lt;br /&gt;&lt;br /&gt;And just because Sarah Silverman is so damn funny, try this one on for a good laugh:&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/AgHHX9R4Qtk&amp;hl=en&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/AgHHX9R4Qtk&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</description><link>http://erikloehfelm.blogspot.com/2008/10/here-we-go.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-1722946410221172460</guid><pubDate>Mon, 22 Sep 2008 15:37:00 +0000</pubDate><atom:updated>2008-09-22T11:50:14.105-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">developer</category><category domain="http://www.blogger.com/atom/ns#">flash</category><title>Working with XML Namespaces in Flash</title><description>Today I was having some issues with parsing RSS/ATOM feeds in Flash. I forgot to factor in the fact that both use namespaces in the XML. Here&#39;s a simple block of code I used to handle the namespaces and parse the XML into Value Objects:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style=&quot;font-family:&#39;courier&#39;;color=#666;font-size:.9em&quot;&gt;&lt;br /&gt;public function xmlLoaded(event:Event):void&lt;br/&gt;&lt;br /&gt;{&lt;br/&gt;&lt;br /&gt;  trace(&quot;done loading&quot;);&lt;br/&gt;&lt;br /&gt;  theXML = XML(myLoader.data);&lt;br/&gt;&lt;br /&gt;  var ns:Namespace = theXML.namespace();&lt;br/&gt;&lt;br /&gt;		&lt;br /&gt;for each (var property:XML in theXML..item)&lt;br/&gt;&lt;br /&gt;{&lt;br/&gt;&lt;br /&gt;  &lt;b style=&quot;color=#ff0000&quot;&gt;var atom:Namespace = property.namespace(&quot;atom&quot;);&lt;/b&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;  var fVO:FeatureVO = new FeatureVO();&lt;br/&gt;&lt;br /&gt;  fVO.pubDate = property.pubDate;&lt;br/&gt;&lt;br /&gt;  &lt;b style=&quot;color=#ff0000&quot;&gt;fVO.updated = property.atom::updated;&lt;/b&gt;&lt;br/&gt;&lt;br /&gt;  fVO.category = property.category;&lt;br/&gt;&lt;br /&gt;  fVO.title = property.title;&lt;br/&gt;&lt;br /&gt;  fVO.summary = property.atom::summary;&lt;br/&gt;&lt;br /&gt;  fVO.link = property.link;&lt;br/&gt;&lt;br /&gt;  fVO.enclosure = property.enclosure.@url;&lt;br/&gt;&lt;br /&gt;  fVO.xmlData = property;&lt;br/&gt;&lt;br /&gt;  model.featuresArray.push(fVO);&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;  trace(&quot;creating featureVO &quot;+fVO.enclosure);&lt;br/&gt;&lt;br /&gt;}&lt;br/&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;This is what the sample xml looked like from Blogger&#39;s RSS/ATOM feed:&lt;br /&gt;&lt;blockquote style=&quot;font-family:&#39;courier&#39;;color=&#39;#666&#39;;font-size:.9em&quot;&gt;&lt;br /&gt;&amp;lt;rss xmlns:atom=&#39;http://www.w3.org/2005/Atom&#39; xmlns:openSearch=&#39;http://a9.com/-/spec/opensearch/1.1/&#39; version=&#39;2.0&#39;&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;channel&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;atom:id&amp;gt;tag:blogger.com,1999:blog-&amp;lt;/atom:id&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;lastBuildDate&amp;gt;Wed, 10 Sep 2008 19:07:53 +0000&amp;lt;/lastBuildDate&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;link&amp;gt;asdfasdf.com/&amp;lt;/link&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;managingEditor&amp;gt;noreply@blogger.com (Erik Loehfelm)&amp;lt;/managingEditor&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;generator&amp;gt;Blogger&amp;lt;/generator&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;openSearch:totalResults&amp;gt;9&amp;lt;/openSearch:totalResults&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;openSearch:startIndex&amp;gt;1&amp;lt;/openSearch:startIndex&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;openSearch:itemsPerPage&amp;gt;25&amp;lt;/openSearch:itemsPerPage&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;item&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;guid isPermaLink=&#39;false&#39;&amp;gt;tag:blogger.com,1999:blog-&amp;lt;/guid&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;pubDate&amp;gt;Wed, 10 Sep 2008 19:07:00 +0000&amp;lt;/pubDate&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;atom:updated&amp;gt;2008-09-10T15:07:53.696-04:00&amp;lt;/atom:updated&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;category domain=&#39;http://www.blogger.com/atom/ns#&#39;&gt;feature&amp;lt;/category&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;title&amp;gt;People Singing&amp;lt;/title&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;atom:summary&amp;gt;This is going to be a feature for the portal.v/atom:summary&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;link&gt;asdfasdfasdf.html&amp;lt;/link&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;enclosure type=&#39;image/jpeg&#39; url=&#39;http://msnbcmedia.msn.com/j/msnbc/Components/Slideshows/_production/ss-080522-idolfinale/ss-080522-idolfinale-09.hmedium.jpg&#39; length=&#39;0&#39;/&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;author&amp;gt;noreply@blogger.com (Erik Loehfelm)&amp;lt;/author&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;/channel&amp;gt;&lt;br/&gt;&lt;br /&gt;&amp;lt;/rss&amp;gt;&lt;br/&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;You can see the syntax to be used on the 2 lines highlighted in bold above. The first defines the namespace (atom) and the second shows how you access elements in the xml that have the atom namespace applied to them.</description><link>http://erikloehfelm.blogspot.com/2008/09/working-with-xml-namespaces-in-flash.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-7906846917030100558</guid><pubDate>Tue, 09 Sep 2008 15:16:00 +0000</pubDate><atom:updated>2008-09-10T15:12:47.017-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adobe</category><category domain="http://www.blogger.com/atom/ns#">photoshop</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>Photoshop Tip: Creating a dotted line</title><description>Here&#39;s another handy tip for Photoshop CS3. To create a dotted line in Photoshop:&lt;ol&gt;&lt;li&gt;Select the Pencil or Brush tool from the tool menu&lt;/li&gt;&lt;li&gt;Open the Brushes Palette from the Window menu&lt;/li&gt;&lt;li&gt;Click on the &#39;Brush Tip Shape&#39; item in the list on the left&lt;/li&gt;&lt;li&gt;Adjust the &#39;Spacing&#39; slider on the bottom of the right list&lt;/li&gt;&lt;/ol&gt;&lt;img src=&quot;http://img.skitch.com/20080909-f3i85tph6q4f3jb4tn4sc367eh.jpg&quot; alt=&quot;Photoshop_dottedLine&quot;/&gt;This will give you a dotted line while drawing with that particular pen/brush! Save it as a new brush if you&#39;d like to use it again in the future. Adjust the &#39;Spacing&#39; slider to give you the spread between the dots that you&#39;d like. Playing with the adjustments on the other settings will allow you to create dashes, or other shapes along the same pattern. Easy peasy!</description><link>http://erikloehfelm.blogspot.com/2008/09/photoshop-tip-creating-dotted-line.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-2564284838180572838</guid><pubDate>Tue, 09 Sep 2008 15:00:00 +0000</pubDate><atom:updated>2008-09-09T11:02:13.017-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">adobe</category><category domain="http://www.blogger.com/atom/ns#">photoshop</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>Photoshop Tip: Switching between open documents</title><description>As basic as this might seem, I always seem to forgot this little key combination to switch between open documents on the Mac.&lt;br /&gt;&lt;br /&gt;Hold down Control:Shift and press Tab to cycle through the open documents in Photoshop.</description><link>http://erikloehfelm.blogspot.com/2008/09/photoshop-tip-switching-between-open.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7655425.post-3966147653289815600</guid><pubDate>Mon, 08 Sep 2008 17:59:00 +0000</pubDate><atom:updated>2008-09-08T14:10:06.407-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">color</category><category domain="http://www.blogger.com/atom/ns#">photoshop</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>Photoshop Tip: Color picking from anywhere</title><description>Here&#39;s a quick Photoshop CS3 tip to sample colors from applications other than Photoshop:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;With a Photoshop document open, click on the color swatch/color chooser in the tools pallette to open up the color picker.&lt;/li&gt;&lt;li&gt;Mouse over the Photoshop document so that the eyedropper tool becomes visible.&lt;/li&gt;&lt;li&gt;Left-click  your mouse in the Photoshop document and continue to hold the mouse button down.&lt;/li&gt;&lt;li&gt;You can now move your mouse outside of the Photoshop document and sample colors from anywhere on your computer screen!&lt;/li&gt;&lt;li&gt;Release your mouse button when you have found the color you desire.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The sampled color is now the selected color in your color picker! Be sure to have the &quot;Only Web Colors&quot; checkbox unchecked to allow a wider gamut of colors to be sampled.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Note: This will only sample colors from what is visible on your screen. It will not allow you to move windows to find colors on a &#39;buried&#39; screen. Be sure to set up your workspace so that the open Photoshop document and whatever your color sample source will be are both visible.</description><link>http://erikloehfelm.blogspot.com/2008/09/photoshop-tip-color-picking-from.html</link><author>noreply@blogger.com (Erik Loehfelm)</author><thr:total>1</thr:total></item></channel></rss>