<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ghost23 Blog &#187; Flash in general</title>
	<atom:link href="http://www.ghost23.de/category/flash-in-general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ghost23.de</link>
	<description>A blog about Flash and stuff</description>
	<lastBuildDate>Fri, 11 Jun 2010 10:13:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Another singleton</title>
		<link>http://www.ghost23.de/2010/05/another-singleton/</link>
		<comments>http://www.ghost23.de/2010/05/another-singleton/#comments</comments>
		<pubDate>Sun, 02 May 2010 08:41:47 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[AS3 / Flex]]></category>
		<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[singleton]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/?p=304</guid>
		<description><![CDATA[Juten Tach, i know, everybody hates Singletons, and i do, too. But i find it an entertaining exercise to come up with new ways of circumventing the lack of private constructors for Singletons. Today this new one came to my mind: First, we define an Interface, which specifies, how our Singleton should look like: IMySingelton.as: [...]]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,</p>
<p>i know, everybody hates Singletons, and i do, too. But i find it an entertaining exercise to come up with new ways of circumventing the lack of private constructors for Singletons. Today this new one came to my mind:</p>
<p>First, we define an Interface, which specifies, how our Singleton should look like:</p>
<p>IMySingelton.as:</p>
<pre>package {
	public interface IMySingleton {
		function doodle(something:String):void;
	}
}</pre>
<p>Ok, next we define our Singleton.</p>
<p>myInstance.as:</p>
<pre>package {
	public var myInstance:IMySingleton = new MySingleton();
}

class MySingleton implements IMySingleton {
	public function MySingleton() {
		trace("MySingleton is now there!");
	}
	public function doodle(something:String):void {
		trace("yippee: " + something);
	}
}</pre>
<p>Very simple, isn&#8217;t it? We could optionally also go without the Interface, but then we loose code completion in our editors, because the class MySingleton will be ignored by most editors, although it would compile and run just fine. I do agree, that this is not really exactly the idea of a Singleton, because it has no getInstance() method, but in the end, the result is the same, we only have one global instance of MySingleton.</p>
<p>And since the variable is already global, we don&#8217;t even have to declare it in our class, we can directly use it:</p>
<p>Main.as:</p>
<pre>package {
	import flash.display.Sprite;

	public class Main extends Sprite {
		public function Main() {
			myInstance.doodle("loodle");
		}
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2010/05/another-singleton/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash/iphone chapter closed, let&#8217;s move on</title>
		<link>http://www.ghost23.de/2010/04/flashiphone-chapter-closed-lets-move-on/</link>
		<comments>http://www.ghost23.de/2010/04/flashiphone-chapter-closed-lets-move-on/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 08:45:06 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[androiod]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/?p=300</guid>
		<description><![CDATA[Juten Tach, now, that this flash / iphone thing is closed, Adobe, can you please make sure, that Flash Player 10.1 on Android will be nothing else but mind-blowing? You know, not like &#8220;it works OK&#8221;, but more like &#8220;wtf, is this flash? you&#8217;re kidding. this is flash? Can&#8217;t believe it, this is sooo fast!&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,</p>
<p>now, that this <a href="http://www.mikechambers.com/blog/2010/04/20/on-adobe-flash-cs5-and-iphone-applications/" target="_blank">flash / iphone thing is closed</a>, Adobe, can you please make sure, that Flash Player 10.1 on Android will be nothing else but mind-blowing? You know, not like &#8220;it works OK&#8221;, but more like &#8220;wtf, is this flash? you&#8217;re kidding. this is flash? Can&#8217;t believe it, this is sooo fast!&#8221;. It doesn&#8217;t matter matter, if it takes another month, but please get this right.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2010/04/flashiphone-chapter-closed-lets-move-on/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adobes price differences across continents &#8211; no more?</title>
		<link>http://www.ghost23.de/2010/03/adobes-price-differences-across-continents-no-more/</link>
		<comments>http://www.ghost23.de/2010/03/adobes-price-differences-across-continents-no-more/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 08:41:56 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[price]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/?p=275</guid>
		<description><![CDATA[Juten Tach, i just saw the post from Colin Moock, where he was kind enough to post the different links to buy the new Flash Builder 4 in the US, UK, Germany and so on. And what do i see, Germany and the US share almost the same price, actually the german price is even a bit [...]]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,</p>
<p>i just saw the <a href="http://www.moock.org/blog/archives/000300.html" target="_blank">post from Colin Moock</a>, where he was kind enough to post the different links to buy the new Flash Builder 4 in the US, UK, Germany and so on. And what do i see, Germany and the US share almost the same price, actually the german price is even a bit lower. That&#8217;s good. Let&#8217;s see, what happens, when Flash CS5 comes along. Would be cool if we could see a trend there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2010/03/adobes-price-differences-across-continents-no-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visions and technology</title>
		<link>http://www.ghost23.de/2009/10/visions-and-technology/</link>
		<comments>http://www.ghost23.de/2009/10/visions-and-technology/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:38:17 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/blog/?p=230</guid>
		<description><![CDATA[Juten Tach, just read this article from Ryan Stewart (Evangelist for Adobe). He is complaining about the hype, that is generated around Google Wave and the fact, that he thinks, Wave could have been built with Flash/Flex years ago. And why Flash/Flex apps haven&#8217;t managed in the past to generate such momentum. Also read the [...]]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,</p>
<p>just read <a href="http://blog.digitalbackcountry.com/2009/09/google-wave-pisses-me-off/" target="_blank">this article from Ryan Stewart</a> (Evangelist for Adobe). He is complaining about the hype, that is generated around Google Wave and the fact, that he thinks, Wave could have been built with Flash/Flex years ago. And why Flash/Flex apps haven&#8217;t managed in the past to generate such momentum. Also read the comments, as the discussion there is a great read. I made my own thoughts about it.</p>
<p>One thing is, in most cases, where new stuff on the internet is getting hyped, it is about concepts, not technology. Only if the technology supports an innovative concept, then also the technology participates from the hype. So with Google Wave, sure, perhaps this could have been built with Flash, but it wasn&#8217;t, because no one had the idea and/or the will and/or possibilities to build it. When Flash had its hype years ago, it was because of vector graphics and animations running in the browser. It wasn&#8217;t the technology, it was the concept of having the possibility to show rich graphics and animations on the Internet and build them easily. Now Flash is an established technology, so it won&#8217;t see another hype itself so easily. Guess, we have to live with it: Flash isn&#8217;t cool, innovative apps are cool, no matter, what the technology behind it is (that&#8217;s not to say, Flash wouldn&#8217;t be a good starting point to build great apps).</p>
<p>In the comments, Wave is compared to Aviary in terms of &#8220;hype-potential&#8221;. Well, i don&#8217;t think, you can compare these two apps. Google Wave is a tool, that is targeted to mostly every Internet user. Aviary is a tool for a very sharply defined user group. So, if Google Wave was featured on CNN, you cannot expect Aviary to have that, simply because of the target group.</p>
<p>Also, a very important point is, that Google simply has the monetary power to build platforms like Wave. It is the same thing with Google Maps or Google Earth and so on. You need a heck of a lot of money and resources to build and maintain these applications. That limits the number of companies / teams, that can build them.</p>
<p>My last point would be, that Flash in terms of a technical platform is still pretty young. It is hard to make the cut, but i would consider the introduction of ActionScript3 as a point in time, where Flash seriously started to turn into a technical platform, where it became interesting for classical developers to work with it. And still, considering the developer tools, that we have for flash compared to stuff, that Java- or C#-developers have, there is a long way to go. If i am not mistaken, a major part of Google Wave was written in Java and then ported with their Web-kit to JavaScript, so they probably could use those nice tools that exist for java development.</p>
<p>So, what does that tell us now? Actually nothing new, because it&#8217;s always been that way, that great ideas at the right time, that come together with enough money and resources have a big chance to excite the crowd. Let&#8217;s see, how Adobe will improve the flash platform not primarily in terms of featureset in the player, but more in terms of developer tools (some fresh ideas for the Flash IDE perhaps? We need to get those designers back on board).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2009/10/visions-and-technology/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My upcoming book &#8211; current status</title>
		<link>http://www.ghost23.de/2009/06/my-upcoming-book-current-status/</link>
		<comments>http://www.ghost23.de/2009/06/my-upcoming-book-current-status/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 10:03:46 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[AS3 / Flex]]></category>
		<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/blog/?p=102</guid>
		<description><![CDATA[Juten Tach, it&#8217;s been quiet here, lately. I was working hard on my upcoming book Flash Engineering (it&#8217;s in german, sorry for the english speaking people). Now i&#8217;m almost done. The script is currently in the editorial office and being checked. Can&#8217;t wait to see it in reality. By the way, you can already pre-order [...]]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,</p>
<p>it&#8217;s been quiet here, lately. I was working hard on my upcoming book <a href="http://www.amazon.de/gp/product/3827327830?ie=UTF8&#038;tag=ghost23blog-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3827327830">Flash Engineering</a><img src="http://www.assoc-amazon.de/e/ir?t=ghost23blog-21&#038;l=as2&#038;o=3&#038;a=3827327830" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> (it&#8217;s in german, sorry for the english speaking people). Now i&#8217;m almost done. The script is currently in the editorial office and being checked. Can&#8217;t wait to see it in reality. By the way, you can already pre-order it:</p>
<div style="text-align:center"><iframe src="http://rcm-de.amazon.de/e/cm?t=ghost23blog-21&#038;o=3&#038;p=8&#038;l=as1&#038;asins=3827327830&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=6699CC&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;f=ifr&#038;nou=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2009/06/my-upcoming-book-current-status/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The V in MVC</title>
		<link>http://www.ghost23.de/2009/02/the-v-in-mvc/</link>
		<comments>http://www.ghost23.de/2009/02/the-v-in-mvc/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 13:50:00 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[object oriented design]]></category>
		<category><![CDATA[rich user interface]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/blog/?p=98</guid>
		<description><![CDATA[Juten Tach, lately i was discussing a design with colleagues of mine for a specific project, they are working on. We talked about various principles and methodologies, actually the discussion wandered a bit from the actual topic. We talked about MVC and Domain Driven Design and in the end were confused, because we were uncertain [...]]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,<br />
lately i was discussing a design with colleagues of mine for a specific project, they are working on. We talked about various principles and methodologies, actually the discussion wandered a bit from the actual topic. We talked about MVC and Domain Driven Design and in the end were confused, because we were uncertain as to what would be the best approach to design the application.</p>
<p>The application in question is one, that has a very rich user interface with animations, video, sophisticated controls and so on. The domain model that lies behind all that is rather simple though. It is one of those applications in the advertising industry, that is more about the show than about utility.</p>
<p>I would roughly estimate, that 60% of the code that my colleagues will write is related to the UI and the rest goes for the model and the general application logic. Actually most of the applications we develop are partitioned that way. That&#8217;s nothing to get excited about, after all we&#8217;re building thin clients and of course a thin client is mostly made up of ui code.</p>
<p>But knowing that, i come to ask myself, why we are actually so excited about MVC, Domain Driven Design, architectrual frameworks, IoC and stuff. For the particular type of flash applications that we build, we should be more concerned about how to structure the V in MVC than about the whole MVC in general. That&#8217;s not to say, we should not care about general architectural matters, but being a flash developer, who is building rich user interfaces, we should rather think about structuring our views than about structuring our model, since in many cases, our model is not the core of our problem, but the view is.</p>
<p><img alt="ecozoo.jpg" src="/blog/wp-content/uploads/ecozoo.jpg" width="480" height="232" /><small>Screenshot of the <a href="http://ecodazoo.com/" target="_blank">eco zoo</a> campaign.</small></p>
<p>However, i do see too little articles covering this topic in particular. I also do not see enough design frameworks trying to deliver support in that area. Of course, we have frameworks, that aim at simplifying building UIs, such as the Flex framework. But for me, these frameworks rather try to look at the UI to be something, that should be made easy, so you don&#8217;t have to think about it to deeply, so that you can concentrate on the application itself. But what, if the presentation is the thing, you want to concentrate on? That&#8217;s why i&#8217;m so sceptical about tools like Adobe Catalyst, because i have the feeling, this tool tries to hide away the problem of developing complex UIs, suggesting that the act of architecting and developing a rich UI is something, that can be somehow automated and hidden behind a clickable tool. I strongly believe, this is not possible. It takes experienced UI developers to build stunning presentation layers and these experienced developers should start thinking about effective ways of building those UIs.</p>
<p><img alt="ikea.jpg" src="http://www.ghost23.de/blog/images/ikea.jpg" width="480" height="317" /><small>Screenshot of the ikea <a href="http://demo.fb.se/e/ikea/comeintothecloset2/site/default.html">wardrobe solutions campaign</a>.</small></p>
<p>I think it is time, that we think more about the underlying patterns in the development of rich and animated UIs. A discussion about those should not only be about components, because really rich UIs are not solely made out of classic components. Of course, in a sense you can define everything to be some sort of button, but i feel that doesn&#8217;t live up with what we really need. Especially as we are heading to UIs, that are try to go away from classic form style in favor of more integrated, chromeless UIs. Also we need to incorporate timing in a more fluent way. We already have some very good state patterns yet, but my feeling is, that todays UIs go beyond simple state, our concern is not so much the state, but the transitions. And sometimes UIs are constantly transitioning, so that one might start to doubt, if it is even useful to talk about states anymore.</p>
<p>To make a long story short, i think with the advent of rich, interactive and animated UIs we need a deeper discussion about how we can build those in an effective way, that allows for the basic principles like extendability, maintainability and reusability.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2009/02/the-v-in-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Placing 3D objects on a Google Flash Map</title>
		<link>http://www.ghost23.de/2008/09/placing-3d-objects-on-a-google-flash-map/</link>
		<comments>http://www.ghost23.de/2008/09/placing-3d-objects-on-a-google-flash-map/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 14:47:49 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[AS3 / Flex]]></category>
		<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[away3d]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[map]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/blog/?p=88</guid>
		<description><![CDATA[Today i suddenly felt the need of playing around with the Google Maps Flash API. I had the idea of placing 3D objects on a map and being able to move them along with moving the map itself.
]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,<br/><br/><br />
today i suddenly felt the need of playing around with the <a href="http://code.google.com/apis/maps/documentation/flash/" target="_blank">Google Maps Flash API</a>. I had the idea of placing 3D objects on a map and being able to move them along with moving the map itself.<br/><br />
For doing so, i chose <a href="http://away3d.com/" target="_blank">Away3D</a>.<br/><br />
I searched a little bit for an idea how to combine a 3D object with the map and i decided to use Markers from the <a href="http://code.google.com/apis/maps/documentation/flash/" target="_blank">Google Maps Flash API</a> to do it.<br/><br />
The basic concept is: I create a marker, that uses a little Bitmap Object as an icon and i hold a reference to that icon. The bitmap content is irrelevant and has only one pixel. Since i use a normal Marker object, i can simply place the marker by using lattitude and longitude values.<br/><br />
Now i setup a 3d scene from away3d on top of my map and create 3d object. Note, i am the exact opposite of a 3d-expert, so in my example i am just using a primitive object for demonstration purposes.<br/><br />
Once this is done, i add a listener to the Map_Move event from the <a href="http://code.google.com/apis/maps/documentation/flash/" target="_blank">Google Maps Flash API</a> and i request the coordinates of my little marker icon and recalculate them with the localToGlobal() method.<br/><br />
Now i simply set the 3d position of my primitive 3D object according to the position i got from above and that&#8217;s it.<br/><br />
You have to finetune the relative position of the Camera a bit, so that the movement of the object is in sync with the movement of the map.<br/><br />
Now i wanted to go a step further and place some object from <a href="http://sketchup.google.com/3dwarehouse/" target="_blank">Google Warehouse</a> on my map, but apparently, this is not an easy task, since all the models i tried caused errors with <a href="http://away3d.com/" target="_blank">Away3D</a>.<br/><br />
Anyway, if you think, this might come in handy someday, you can download the source code <a href="/blog/wp-content/uploads/map_with_3d_object.zip">here</a>. Note, you need your own Google Maps API key for playing with that stuff.<br/></p>
<div id="flashcontent">
You appear to be missing flash, which i cannot understand. You can install it <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">here</a>.
</div>
<p><script type="text/javascript">
var so = new SWFObject("/blog/wp-content/uploads/mapproject.swf", "mymovie", "460", "400", "9", "#ffffff");
so.write("flashcontent");
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2008/09/placing-3d-objects-on-a-google-flash-map/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Write code to be read</title>
		<link>http://www.ghost23.de/2008/08/write-code-to-be-read/</link>
		<comments>http://www.ghost23.de/2008/08/write-code-to-be-read/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 15:57:20 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[code complete]]></category>
		<category><![CDATA[mcconnell]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/blog/?p=86</guid>
		<description><![CDATA[I am currently reading "Code Complete" from Steven McConnell. Today one particular little paragrapgh caught my eye. It has the headline "Favor read-time convenience to write-time convenience". I couldn't agree more.
]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,<br />
i am currently reading &#8220;Code Complete&#8221; from Steven McConnell. I encourage you to read it, too. He&#8217;s a good writer and the book contains a lot of usefull tips and insights into software design and programming. Today one particular little paragraph caught my eye. It has the headline &#8220;<em>Favor read-time convenience to write-time convenience</em>&#8220;. I couldn&#8217;t agree more.<br />
He continues with &#8220;<em>Code is read far more times than it&#8217;s written, even during initial development. Favoring a technique that speeds write-time convenience at the expense of read time convenience is a false economy.</em>&#8221;<br />
<strong>[Update]</strong>: As i was turning to &#8220;Refactoring&#8221; from Martin Fowler lately i saw him making the same point: &#8220;<em>Any fool can write code that a computer can understand. Good programmers write code that humans can understand.</em>&#8221;<br />
Programmers (including me) can be very lazy and very often you say to yourself &#8220;I know this is dirty, but i want it off my back and it works, so who cares&#8221;. But you can be very sure, things come back sooner than you think. Writing code in a way, that simplifies writing it, ignores the fact, that very often you have to deal with that code for quite some time after the initial development. Perhaps not the original developer, but perhaps someone else, which makes things even worse.<br />
This begins with naming functions and variables. Of course it is easy to give a variable a name of &#8220;o&#8221;. You will only have to type one character for using that variable, so it makes writing your code easier at first glance. But &#8220;o&#8221; says nothing and will make your code harder to understand.<br />
Also i often see programmers hesitating of writing a class for specifying some abstract object, like some specific event, for example, because it feels to be annoying to write additional code. Especially in AS2, when you could simply make up an event object by simply writing : {type:&#8221;myEvent&#8221;, target:this, myparam:&#8221;hello&#8221;}. Of course, it was easier to do so instead of writing an event class. But it made understanding code for someone else a pain, because now there was an untyped object, which made it hard to guess, that the important parameter in the event was called &#8220;myparam&#8221;.<br />
There are lots of examples, where aiming for easying of writing code results in less readable code and thus makes it less maintainable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2008/08/write-code-to-be-read/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash CS3 &#8211; no excludes, no intrinsics, no anything</title>
		<link>http://www.ghost23.de/2008/05/flash-cs3-no-excludes-no-intrinsics-no-anything/</link>
		<comments>http://www.ghost23.de/2008/05/flash-cs3-no-excludes-no-intrinsics-no-anything/#comments</comments>
		<pubDate>Wed, 07 May 2008 10:26:18 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[exclude]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash cs3]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/blog/?p=80</guid>
		<description><![CDATA[grrr, i just found, that you cannot use intrinsics or excludes in Flash9 projetcs in Flash CS3 anymore. This is unbelievable.
]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,<br />
i know, i am lightyears behind, but i just found, that Flash CS3 for Flash 9 projects does neither support intrinsic classes nor _exclude.xml files nor anything the flex sdk supports. I can&#8217;t believe it, this is &#8230;. i don&#8217;t know, my english is not good enough to articulate, how bad i find this.<br />
I thought, i had found a bit of light, when i read, that you can use .swc (those being created with Flash CS3, not with flex 3 sdk, of course &#8230;) files to exclude classes. Unfortunately this does not work with symbols in the library, that link to a class, that you want to exclude.<br />
grrr, i can just say, arghhh &#8230;, why is there no update for Flash CS3? grrrr.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2008/05/flash-cs3-no-excludes-no-intrinsics-no-anything/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Three years bmw.com flash framework &#8211; review</title>
		<link>http://www.ghost23.de/2008/02/three-years-bmw-com-flash-framework-review/</link>
		<comments>http://www.ghost23.de/2008/02/three-years-bmw-com-flash-framework-review/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 09:30:18 +0000</pubDate>
		<dc:creator>Sven Busse</dc:creator>
				<category><![CDATA[Flash in general]]></category>
		<category><![CDATA[bmw.com website flash framework review]]></category>

		<guid isPermaLink="false">http://www.ghost23.de/blog/?p=68</guid>
		<description><![CDATA[I am reviewing three years of "living" with the flash framework, that we built for the bmw.com website.
]]></description>
			<content:encoded><![CDATA[<p>Juten Tach,<br />
last december, we switched off the full-flash-version of the bmw.com website. We replaced it with a sneak, lightweight, frameless html version, that of course uses flash modules here and there for showing the cool stuff you cannot show with simple HTML. The site has been heavily optimized for earch engines and we already see huge improvements in that field.<br />
There were a lot of things involved in deciding to switch off the flash version. Some being very obvious, supporting only one version is easier than supporting two. Also i think, the zeitgeist has simply changed. Back in 2003/2004, when we began with the relaunch of the old bmw website, the idea about a full-flash website expressed the wish to let the web be more rich in terms of expressiveness as it was at that time and flash was &#8211; and still is &#8211; the tool for doing so.<br />
Things change. Today i feel, expressiveness is taken for granted. Cool websites with kinky effects are everwhere, expectations are quite high. Instead, i think today it is more about connectivity, collaboration, combining data from different sources to build something new &#8211; semantic web, etc. Of course, all of that has to look good, feel smooth and be usable, but that&#8217;s not the focus. I like that shift, it feels like it is more about content and the &#8220;what&#8221; than about the &#8220;how&#8221;.<br />
But of course, switching off the flash framework also made me sad &#8211; for a second or so. Building the flash framework for the bmw.com website was my first BIG project at Interone. I started with the technical concept at around may 2005 and finished it about one and a half months later. Together with other technical guys we wrote the complete IT concept, that had about 240 pages, 50 pages of these only for the architecture and the interface descriptions of the flash framework. Together with my colleague <a href="http://www.nulldesign.de">Lars</a>, our fellow <a href="http://www.flashcode.de/">Wolfgang</a> and about four further colleagues, we then built the framework with about 30 templates, 20 components and all in all about 50.000 lines of code, from about end of july to the 16th of february 2005 &#8211; when the new bmw.com launched.<br />
It was an amazing project for us, working on a single project for over half a year is not very normal in an agency. We learned a heck of a lot during that time and if it was only about tiny bugs in the flash player, like scripts were not correctly run in a frame, where you where using a symbol from a runtime-shared-library. The biggest challeng was, that the website was not only the bmw.com, but we where to roll it out in dozens of countries. Everything had to be editable via the content management system. The architecture therefore put the central framework outside of the country folders, but the components &#8211; runtime shared libraries &#8211; within the country folder. That meant, we could have different font sets in different component rsls, but the templates and the central framework did not know about it, since we built the folder structure that way, that the path to component swf was allways the same, relative from the country folder. For making a new country rollout we only had to modify the country-specific component file, since the central framework and all templates where totally country- and language-independent.<br />
At that time, we learned a lot about splitting up an application&#8217;s modules into different files for better rollout possibilities and easier maintenance. It took us some time to find the best workflow to generate intrinsics or _exclude.xmls &#8211; not sure if we found it yet.<br />
From that february 2005 on, over 80 flash campaigns and dozens of new modules, templates and components have been developed based on that flash framework. We even developed a light version of the framework, that was able to run a single campaign in a simple html page without the rest of the bmw website. We built a complete form parser and layouter, that takes complex form definition xml files for building up the forms, we offered on the site.<br />
Many flash developers inside of Interone and a lot of freelancers have worked with the framework &#8211; and cursed it from time to time, i know <img src='http://www.ghost23.de/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> )<br />
Not all of this is deprecated now, we still can use a lot of code, the components, the utility classes and so on, even if we do not use the framework anymore. Also, not having to maintain a big framework anymore is a bit of a relieve actually, because having a persistent framework all the time meant, we had to be extremely carefull of what to change or to add, because most likely this affected some template or some campaign already running live.<br />
Well, hope that didn&#8217;t sound too pathetic, but i feel, it&#8217;s not too bad to look back, sometimes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ghost23.de/2008/02/three-years-bmw-com-flash-framework-review/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
