<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-4391677055914012927</id><updated>2008-07-22T10:25:42.339-07:00</updated><title type='text'>Le Maitre d'Something</title><link rel='alternate' type='text/html' href='http://www.scottydawg.com/'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.scottydawg.com/atom.xml'/><author><name>Scott</name><uri>http://www.blogger.com/profile/02136003021753268482</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4391677055914012927.post-2826817056895608639</id><published>2008-07-22T09:24:00.000-07:00</published><updated>2008-07-22T10:25:42.361-07:00</updated><title type='text'>Flash Gets Searched</title><content type='html'>I'm obviously a few weeks late on this one, but I've been on vacation.  (A computer-free, cell-phone-free vacation, I might add.  Try it sometime - it's pretty incredible.)&lt;br /&gt;&lt;br /&gt;Anyway, &lt;a href="http://googleblog.blogspot.com/2008/06/google-learns-to-crawl-flash.html"&gt;Flash is searchable&lt;/a&gt;, or at least Google has an algorithm for it.  Adobe says in &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200806/070108AdobeRichMediaSearch.html"&gt;this article&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;"Google has already begun to roll out Adobe Flash Player technology incorporated into its search engine."&lt;/blockquote&gt;&lt;a href="http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html"&gt;This page&lt;/a&gt; outlines some details from Google's end.  At the moment, they're only indexing text within a SWF file - not images or video.  But the implications are huge.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scottydawg.com/2008/05/flash-disambiguation.html"&gt;I've acknowledged&lt;/a&gt; that the most reasonable criticism of Flash is the inability to search the content within it.  That's been a huge limitation, and anyone that's trying to build a highly searchable site has avoided Flash for that reason alone.  We'll have to see how valuable the search results are that are generated from Google's new algorithm, but that limitation is becoming irrelevant.&lt;br /&gt;&lt;br /&gt;What's really huge about this is that the FlashPlayer "plug-in" has made another giant step toward transparency.  This is (in part) Google and Yahoo admitting that Flash is a core means of transmitting information over the internet.  If GooHoo is expecting to find Flash content, they're expecting end users to have it installed.  It's a transparent medium - everyone expects that Flash content is viewable.  When it's not, something is wrong.  With the typical plug-in, the expectation is the opposite (that it's not installed), and that's even what you plan on.&lt;br /&gt;&lt;br /&gt;Maybe you're more skeptical, and you think that this is just Adobe swooping in at the right moment, leveraging the GooHoo/Microsoft conflict to give FlashPlayer a (HUGE) leg up on Silverlight.  Maybe Google and Yahoo aren't admitting anything about Flash as a core means of transmitting information.  Guess what: it doesn't matter.  Motives aside, FlashPlayer gains some huge ground not just as a plug-in, but as a platform.</content><link rel='alternate' type='text/html' href='http://www.scottydawg.com/2008/07/flash-gets-searched.html' title='Flash Gets Searched'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4391677055914012927&amp;postID=2826817056895608639' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.scottydawg.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/2826817056895608639'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/2826817056895608639'/><author><name>Scott</name><uri>http://www.blogger.com/profile/02136003021753268482</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-4391677055914012927.post-984143195608621015</id><published>2008-06-10T16:19:00.000-07:00</published><updated>2008-06-10T19:27:50.318-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Usability'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><title type='text'>Interdisciplinary Tensions</title><content type='html'>During the 5 or so years I spent working at Mattel, I was in a sort of odd place between the creative and programming departments.  I was hired into the interactive group - a predominantly creative one - because of some odd circumstances, but most of my work was technical.  So I spent a fair amount of time with (and sometimes between) designers and programmers.  Both sides thought I was one of them, so I would hear gripes on both sides.  Don't get me wrong, Mattel was a great place, and our teams worked together phenomenally.  But there's always potential for gripes between the two, and sometimes that potential is realized.&lt;br /&gt;&lt;br /&gt;At the end of the day, I'm a programmer.  But working between groups makes you realize the very real dependencies.  At Mattel we were making games, so it was really emphasized.  Programmers usually make ugly games without some serious creative help.  Without the programmers, designers have some nice looking screen shots.  Both are equally worthless.&lt;br /&gt;&lt;br /&gt;The dependencies don't feel as real when you get into application development.  There are &lt;a href="http://msdn.microsoft.com/en-us/vstudio/default.aspx"&gt;some&lt;/a&gt; &lt;a href="http://www.rubyonrails.org/"&gt;really&lt;/a&gt; &lt;a href="http://www.eclipse.org/"&gt;great&lt;/a&gt; &lt;a href="http://www.adobe.com/products/flex/"&gt;tools&lt;/a&gt; that will allow a programmer to create a working piece of software, but without a good user interface designer (or a programmer that's into both disciplines), you still usually end up with something that feels like a traditional Microsoft app (i.e., &lt;a href="http://www.winvistabeta.com/files%2fscreens%2f5728%2fvisio-2007.jpg"&gt;not great&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The UI is what makes you look good.  A killer app with a bad UI is like driving a &lt;a href="http://en.wikipedia.org/wiki/Image:Lotus_Europa_S.jpg"&gt;Lotus&lt;/a&gt; covered in &lt;a href="http://en.wikipedia.org/wiki/Bondo_%28putty%29"&gt;Bondo&lt;/a&gt;.  It's impressive under the hood apparently, but I've never seen it.  And that's the point.&lt;br /&gt;&lt;br /&gt;So if you're a programmer, and you haven't bothered, dig into some design theory.  It's actually quite interesting, and much less about emotion than what your stereotypes will let you believe.  Some good starting points:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A two-part series by &lt;a href="http://www.marinilli.com/"&gt;Mauro Marinilli&lt;/a&gt; on UI Theory: &lt;a href="http://www.developer.com/design/article.php/1545991"&gt;Part 1&lt;/a&gt; | &lt;a href="http://www.developer.com/design/article.php/1564681"&gt;Part 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.asktog.com/columns/022DesignedToGiveFitts.html"&gt;A classic article on Fitts' Law&lt;/a&gt; from &lt;a href="http://www.asktog.com/menus/designMenu.html"&gt;Bruce Tognazzini's&lt;/a&gt; site&lt;a href="http://www.asktog.com/columns/022DesignedToGiveFitts.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Marinilli's first article has a slew of resources at the end as well.  If you know of some great ones, please share!&lt;br /&gt;&lt;br /&gt;My point is this: I've had a lot of opportunities open up to me because managers or clients have viewed me as "having design ability."  I don't consider myself a particularly good designer.  But just having some basic awareness, and being able to integrate it in some basic way, works wonders.  People become impressed, and &lt;span style="font-style: italic;"&gt;sometimes&lt;/span&gt; that even gets reflected in your paycheck.</content><link rel='alternate' type='text/html' href='http://www.scottydawg.com/2008/06/interdisciplinary-tensions.html' title='Interdisciplinary Tensions'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4391677055914012927&amp;postID=984143195608621015' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.scottydawg.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/984143195608621015'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/984143195608621015'/><author><name>Scott</name><uri>http://www.blogger.com/profile/02136003021753268482</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-4391677055914012927.post-7980651336541706934</id><published>2008-06-03T11:46:00.000-07:00</published><updated>2008-06-03T14:37:28.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical Design'/><title type='text'>Game Code vs. App Code</title><content type='html'>Jeff Fulton has written a &lt;a href="http://www.8bitrocket.com/newsdisplay.aspx?newspage=7582"&gt;great article&lt;/a&gt; about optimized game code, including some pretty thorough performance tests.  He also gives some great historical information about OOP trends in Flash gaming based on his personal experience programming games.&lt;br /&gt;&lt;br /&gt;What makes Jeff's article rare is that you don't see a lot of game developers seriously considering and integrating OOP practices.  There are performance hits associated with some OOP structures (getter/setters versus public variables, etc.) that turn a lot of game developers off.  Someone that's just doing games doesn't always take (or think they have) the time to learn good system architecture.&lt;br /&gt;&lt;br /&gt;Application programmers have no excuse.  If you're building apps, you aren't concerned about performance hits that will drop your application from 90 to 60 frames per second.  You could probably run your app at 30 fps and be just fine.&lt;br /&gt;&lt;br /&gt;Applications also have potential for a more elaborate system architecture and an increased likelihood of revisions or updates by other team members.  Good OOP code is crucial for those things.  The only detraction to strict OOP practices in Flash is performance related and frame rate specific - and apps rarely come close to pushing those limits.&lt;br /&gt;&lt;br /&gt;Before I get flamed by game developers, let me qualify that by saying that a good portion of any game should actually be considered application development.  Typically a game is actually an application that houses a game engine.  (Jeff essentially comes to the same conclusion.)&lt;br /&gt;&lt;br /&gt;So really, nobody has an excuse.  Game and app devs alike need to know good OOP practices.  Gamers just have better excuses (in certain circumstances) for breaking the rules.</content><link rel='alternate' type='text/html' href='http://www.scottydawg.com/2008/06/game-code-vs-app-code.html' title='Game Code vs. App Code'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4391677055914012927&amp;postID=7980651336541706934' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.scottydawg.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/7980651336541706934'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/7980651336541706934'/><author><name>Scott</name><uri>http://www.blogger.com/profile/02136003021753268482</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-4391677055914012927.post-5744830465611580612</id><published>2008-06-02T10:09:00.000-07:00</published><updated>2008-06-02T10:42:57.615-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Little Bits of Finesse</title><content type='html'>&lt;p&gt;Sometimes it's the subtle elements that can really make your work stand out. But those finesse elements are often the 2% of a project that require 50% of your time. It seems counter-intuitive (especially when a deadline is looming), but it's those scenarios where you're often best rewarded for putting a little extra into making reusable code. You invest a little up front for long term payoffs.&lt;/p&gt;&lt;p&gt;For example, plenty of games have a scoreboard. It's relatively easy to just populate a text field with the user's score, but if you spend a little extra time to make a more elegant, reusable solution, your game will feel just a bit richer. People that play it may not necessarily notice that your game has a "special" scoreboard. But they'll know something's just better about your game. And if you've encapsulated the functionality well, you may not need to build another scoreboard for a long time.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flatoutmedia.com/samples/scoreboard/"&gt;Here's an example.&lt;/a&gt; This isn't all that complex, and the effect is relatively subtle, but it's a bit more interesting than simple text field updates. I also built it for flexibility. A fast-moving game may have a lower tween duration and higher blur distance. A slow-moving game would have just the opposite. Need a 10-digit score? No problem. And altering the font is as simple as changing a library symbol.&lt;/p&gt;&lt;br /&gt;&lt;a href="http://www.flatoutmedia.com/samples/scoreboard/"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="BlurredNumberChanger" src="http://www.scottydawg.com/uploaded_images/blurred_number_changer-724119.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;My recommendation, if you haven't already: start developing your own class library, and keep it as a formal repository of all the bits and pieces you use all the time. If you find yourself creating something for the bazillionth time, give yourself some extra time to create a solid implementation of that piece. Don't build &lt;i&gt;everything&lt;/i&gt; into it, just the essentials. That will give you a core version, a starting place for future implementations. You'll save yourself a ton of time and, if you go a little out of your way, you'll easily add a bit of finesse to future projects.&lt;/p&gt;</content><link rel='alternate' type='text/html' href='http://www.scottydawg.com/2008/06/little-bits-of-finesse.html' title='Little Bits of Finesse'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4391677055914012927&amp;postID=5744830465611580612' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.scottydawg.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/5744830465611580612'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/5744830465611580612'/><author><name>Scott</name><uri>http://www.blogger.com/profile/02136003021753268482</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-4391677055914012927.post-4102550551178093548</id><published>2008-05-29T15:33:00.000-07:00</published><updated>2008-06-02T10:43:19.418-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical Design'/><title type='text'>Pattern Extremists</title><content type='html'>It drives me a little crazy when people (including myself) become emotionally charged during an argument. It always dilutes the argument or kills credibility - or both.&lt;br /&gt;&lt;br /&gt;Programmers have plenty of emotionally charged debates, and while &lt;a href="http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29"&gt;design patterns&lt;/a&gt; is probably not at the top of the list of polarizing issues, it's one of them. &lt;a href="http://realtimecollisiondetection.net/blog/?p=44"&gt;Some&lt;/a&gt; &lt;a href="http://perl.plover.com/yak/design/"&gt;programmers&lt;/a&gt; really work themselves up into a childish frenzy, and it sounds like it's the folks on the other end of the spectrum that they're ranting about.&lt;br /&gt;&lt;br /&gt;These rants really aren't about the patterns, or the idea of patterns, but the people using the patterns. If &lt;a href="http://perl.plover.com/yak/design/samples/slide007.html"&gt;people are cutting+pasting&lt;/a&gt; from the &lt;a href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612"&gt;GoF&lt;/a&gt;&lt;a href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612"&gt; book&lt;/a&gt;, that's really not an issue with the pattern concept. "But patterns &lt;span style="FONT-STYLE: italic"&gt;encourage&lt;/span&gt; that behavior," says the pattern-hater. I'd say that laziness, lack of education, or a need to feign proficiency might encourage that behavior. If design patterns didn't exist, those people would be copy+pasting from other sources that would likely be less well thought out.&lt;br /&gt;&lt;br /&gt;The other rant usually revolves around patterns promoting obscure terminology. I agree, but only a little. Throwing around pattern names to non-programmers communicates nothing. But if I'm reading a bit of technical documentation that identifies a class as a Singleton, that saves paragraphs of reading. (And if I don't know what a Singleton is, I've got a great learning opportunity on my hands.)&lt;br /&gt;&lt;br /&gt;It's another tool vs. user argument. The tool is great when used effectively, and horribly destructive in the wrong hands. Don't blame the tool for the error.</content><link rel='alternate' type='text/html' href='http://www.scottydawg.com/2008/05/pattern-extremists.html' title='Pattern Extremists'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4391677055914012927&amp;postID=4102550551178093548' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.scottydawg.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/4102550551178093548'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/4102550551178093548'/><author><name>Scott</name><uri>http://www.blogger.com/profile/02136003021753268482</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-4391677055914012927.post-7774445762834932018</id><published>2008-05-27T22:59:00.000-07:00</published><updated>2008-05-28T15:34:43.268-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flash: Disambiguation</title><content type='html'>After almost 10 years of working with Flash, I sometimes make the mistake of assuming that everyone knows what Flash is.  Most people can't succinctly define it - they have their perceptions, but it's vague.  Maybe you're someone that &lt;span style="font-style: italic;"&gt;can&lt;/span&gt; define it.  Kudos to you, but ask your spouse, friends, or family.  They may even know you as someone that "does Flash stuff."  But ask them what Flash is and you get partial answers at best.  In a lot of minds (don't underestimate how many) "Flash" is an ambiguous term.  Sometimes that ambiguity turns into hostility, especially among developers that turn their noses up at Flash "faux-developers."&lt;br /&gt;&lt;br /&gt;I'm no "Flash Evangelist" - if you want to use religious terminology,"Flash Apologist" is more appropriate. There are great apps out there built with other great tools and technologies.  But Flash doesn't always get a fair shake.&lt;br /&gt;&lt;h3&gt;What Flash Is&lt;br /&gt;&lt;/h3&gt;The reason for some of the ambiguity is that when people talk about "Flash," they're usually talking about one of three things:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.adobe.com/products/flash/"&gt;Flash the Authoring Tool&lt;/a&gt; - the software we use for making...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Flash content - the files that load into...&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"&gt;FlashPlayer&lt;/a&gt; - the browser plugin that lets people view Flash content.&lt;/li&gt;&lt;/ol&gt;So, you get ambiguous questions like, "Do you have Flash?" Unless that question  is coming from another developer, the person is probably really asking, "Do you  have FlashPlayer?" It's not an easily answered question like, "Do  you have Firefox?"&lt;br /&gt;&lt;br /&gt;Another classically ambiguous question: "is that a Flash site?"  Here "Flash" really refers to the type of content being served up.&lt;br /&gt;&lt;br /&gt;Throw in Flex and the terminology gets more confusing.  Flex is a just different way to author Flash content (which still plays in FlashPlayer).  If you're a Flex developer, a question like, "are you a Flash developer?" isn't an easy yes or no question.  You still make Flash content, and it's still delivered via FlashPlayer, but you may not work with Flash the Authoring Tool.  So you're answer is, "well yes, but..."&lt;br /&gt;&lt;br /&gt;I think some of this is why Adobe started referring to the "&lt;a href="http://www.adobe.com/products/flash/platform/"&gt;Flash Platform&lt;/a&gt;," but that's just another ambiguous term.  It's only relevant to those within the Flash/Flex development community.&lt;br /&gt;&lt;br /&gt;I don't know how to demystify the terminology.  Within the Flash community, it's not a problem. But for everyone else, the terms create ambiguity that drives perceptions...more on that later.&lt;br /&gt;&lt;h3&gt;What Flash Does (and Doesn't)&lt;br /&gt;&lt;/h3&gt;A &lt;a href="http://www.google.com/search?q=flash+sucks"&gt;whole&lt;/a&gt; &lt;a href="http://www.google.com/search?q=flex+sucks"&gt;lot&lt;/a&gt; of people hate Flash and Flex, and with good reason - they've been heavily misused.  Any good tool in the wrong hands makes a mess.  Any honest Flash developer has to admit that they've used Flash more than once when they really didn't need to.  But used well it's amazing.&lt;br /&gt;&lt;br /&gt;The common exceptions:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Flash is bad for search engines."&lt;/span&gt;&lt;br /&gt;Yep, it is.  There are &lt;a href="http://www.hochmanconsultants.com/articles/seo-friendly-flash.shtml"&gt;good&lt;/a&gt; &lt;a href="http://www.communitymx.com/content/article.cfm?cid=74E89"&gt;ways&lt;/a&gt; to compensate for some issues (and have been for some time - neither of those ideas are all that new).  But for many people - not just developers, but project leads and management types - SEO is the thing you do later, so it never happens.&lt;br /&gt;&lt;br /&gt;This is probably Flash's biggest constraint.  That's not a reason to throw it out - &lt;a href="http://gettingreal.37signals.com/ch03_Embrace_Constraints.php"&gt;constraints are good&lt;/a&gt;.  The way around it?  Don't use Flash to display big blocks of text.  Obviously that doesn't cover every scenario (shopping carts come to mind...), but there's usually no need to show pages and pages of text via FlashPlayer.&lt;br /&gt;&lt;br /&gt;The other big exception is for people developing &lt;a href="http://en.wikipedia.org/wiki/Software_as_a_Service"&gt;SaaS&lt;/a&gt; products.  If you've created a Flex app, for example, you probably don't need the actual app to be spiderable.  Maybe the app generates content that you'd like to make searchable - but that's outside the scope of the actual application. What does Google need to know about the internal workings of a Flex application that it can't find out from plain text on your product website?  If you're not going to explicitly plan for SEO in your Flash website, leave text out of Flash.  That solves about 95% of this gripe.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Flash is bad UI."&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;Actually, no.  This is the equivalent of saying "hammers smash thumbs."  It depends on the proficiency of the guy holding the tool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://immike.net/blog/2007/07/31/flash-sucks/"&gt;Some people&lt;/a&gt; still really enjoy citing &lt;a href="http://www.useit.com/alertbox/20001029.html"&gt;this classic&lt;/a&gt; as authoritative.  Yes, people abused the tool.   But in 2000 we were also still writing ActionScript using dropdown menus, and you could make $60k right out of high school working for a dotcom.  People learn, and things change.&lt;br /&gt;&lt;br /&gt;One point that Flash-haters often overlook at this point in the debate is that HTML is equally capable of creating some hideous UI.  Give a bad designer any tool, and it's going to be garbage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Flash takes a long time to load."&lt;br /&gt;&lt;/span&gt;Assuming that "Flash" here means "Flash content," the answer is also no, it doesn't.  There's nothing inherently heavy about Flash.  Ask anyone that's ever had to meet the bandwidth requirements for creating ad banners - you can cram a LOT into 30k.&lt;br /&gt;&lt;br /&gt;The bloat comes in when a designer/developer disregards file size.  You have to optimize any media, and the complexity of optimization grows with the capabilities of the media.  Optimizing a static image is quick.  Audio takes a little more attention.  Video even more.  Flash the most.  So do you throw out the power tool because of the risk of injury?  Sometimes, maybe.  Other times you just work with care.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;"You have to install a plugin."&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Yes, but you &lt;a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html"&gt;probably already have it installed&lt;/a&gt;.  You have to be pretty aggressive to avoid Flash anymore.  In fact, you probably have to i&lt;a href="http://flashblock.mozdev.org/"&gt;nstall a plugin&lt;/a&gt; to keep the evil Flash content away.  Adobe has done an amazing job of making Flash updates almost seamless, hence the ridiculously high adoption rates.  (Good luck, Silverlight.)&lt;br /&gt;&lt;br /&gt;Perhaps I've overlooked something, but Flash is the most ubiquitous plugin in the world.  More web users &lt;a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html"&gt;have FlashPlayer9&lt;/a&gt; than &lt;a href="http://www.w3schools.com/browsers/browsers_stats.asp"&gt;have any one browser.&lt;/a&gt;  More web users &lt;a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html"&gt;have FlashPlayer 9&lt;/a&gt; than &lt;a href="http://www.w3schools.com/browsers/browsers_os.asp"&gt;have Windows&lt;/a&gt;, even.  It's arguably the most consistent way to deliver web content at all.&lt;br /&gt;&lt;br /&gt;There are plenty of other gripes, but I'll have to hit those some other time.  The bottom line: Flash does rich media.  Applications, video and audio, games - even banners and animations - are Flash's niche.  Yes, other things can do this stuff too, and if you like those, great.  Remember, I'm not trying to make converts.  But don't go on a rant about how much you hate Flash or Flex without giving it a fair shake.  Remember that like any tool, there's a learning curve, so don't gripe if you &lt;a href="http://turbidwater.blogspot.com/2007/12/flex-sucks-ass.html"&gt;make novice mistakes&lt;/a&gt; and something doesn't work.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;h3&gt;Perceptions&lt;br /&gt;&lt;/h3&gt;If you're a Flash developer, this is all extremely important because perceptions drive what people think you do.  I write code all day, but a lot of people (that know me well) think I'm an animator or designer of some sort.  That's inconsequential maybe, but what if a project manager has some misconceptions?  And what if that PM works for a potential client/employer?  You could be talking about SaaS development with Flex, and they may blow you off because "Flash is for making games."  Or worse, they may listen to your whole pitch and bring you on board to create banner ads.  Blech.</content><link rel='alternate' type='text/html' href='http://www.scottydawg.com/2008/05/flash-disambiguation.html' title='Flash: Disambiguation'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4391677055914012927&amp;postID=7774445762834932018' title='7 Comments'/><link rel='replies' type='application/atom+xml' href='http://www.scottydawg.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/7774445762834932018'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4391677055914012927/posts/default/7774445762834932018'/><author><name>Scott</name><uri>http://www.blogger.com/profile/02136003021753268482</uri><email>noreply@blogger.com</email></author></entry></feed>