<?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>Michael Fretz - Interaction Designer &#187; php</title>
	<atom:link href="http://www.michaelfretz.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.michaelfretz.com</link>
	<description>Interaction Design Studium Blog</description>
	<lastBuildDate>Wed, 21 Jul 2010 09:43:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Migros Terra Suisse &#8211; Who Is Muh</title>
		<link>http://www.michaelfretz.com/2010/07/10/migros-terra-suisse-who-is-muh/</link>
		<comments>http://www.michaelfretz.com/2010/07/10/migros-terra-suisse-who-is-muh/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 10:17:42 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Webapplikation]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[migros]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/?p=3228</guid>
		<description><![CDATA[The last couple of weeks I had the possibility to work for Jung von Matt, one of the leading advertisement agencies in Europe. I worked on different small projects but mainly on the Migros Terra Suisse Microsite &#8220;Who is Muh&#8221;.
What is &#8220;Who is Muh&#8221;?
&#8220;Who is Muh&#8221; is an interactive platform for the Migros brand Terra [...]]]></description>
			<content:encoded><![CDATA[<p>The last couple of weeks I had the possibility to work for <a href="http://www.jvm.ch" target="_blank">Jung von Matt</a>, one of the leading advertisement agencies in Europe. I worked on different small projects but mainly on the <a href="http://www.migros.ch/DE/Supermarkt/Engagement/TerraSuisse/Seiten/TerraSuisseTiere.aspx" target="_blank">Migros Terra Suisse Microsite &#8220;Who is Muh&#8221;</a>.</p>
<p><strong>What is &#8220;Who is Muh&#8221;?</strong><br />
&#8220;Who is Muh&#8221; is an interactive platform for the Migros brand Terra Suisse. This interactive site shows different animals from the Terra Suisse program and explains what each animal does and how the animals are being treated and raised by their farmers.</p>
<p><img class="alignnone size-full wp-image-3243" title="migros_terrasuisse" src="http://www.michaelfretz.com/wp-content/uploads/2010/06/migros_terrasuisse2.jpg" alt="" width="578" height="419" /></p>
<p><span id="more-3228"></span></p>
<p><strong>Terra Suisse Animals and there Language</strong><br />
In the section animals and their language each animal explains briefly how they are being treated and what they do all day long. Each animal explains some things about its live and the environment it grows up in.</p>
<p><img class="alignnone size-full wp-image-3233" title="terrasuisse_animal_music" src="http://www.michaelfretz.com/wp-content/uploads/2010/06/terrasuisse_animal_music.jpg" alt="" width="580" height="439" /></p>
<p><strong>Muh Mix</strong><br />
The Muh Mix is a game like part of the site. Per drag and drop users can place animals into a play-list and arrange the order of the animal voices. If a user is happy with his choice he can play the song he created, share it on Facebook or send it through an email to his friends. If a user thinks the song he just made is great he can download it as an mp3 or m4r (iPhone Ring-tone format).</p>
<p><img class="alignnone size-full wp-image-3234" title="terrasuisse_animal_sound_1" src="http://www.michaelfretz.com/wp-content/uploads/2010/06/terrasuisse_animal_sound_1.jpg" alt="" width="580" height="439" /></p>
<p><img class="alignnone size-full wp-image-3235" title="terrasuisse_animals_sound" src="http://www.michaelfretz.com/wp-content/uploads/2010/06/terrasuisse_animals_sound.jpg" alt="" width="580" height="439" /></p>
<p><strong>iPhone App</strong><br />
In addition to this site there is an iPhone app, available on the iTunes Store. Install it and enjoy cute animals on your phone.</p>
<p><img class="alignnone size-full wp-image-3236" title="terrasuisse_iphone" src="http://www.michaelfretz.com/wp-content/uploads/2010/06/terrasuisse_iphone.jpg" alt="" width="580" height="439" /></p>
<p><strong>Coding Base</strong><br />
The hole application is build in Object Oriented AS3. I was able to apply some design patterns in this app, for example I applied the singelton pattern on the objects that store the data in the application. This enabled me easy access to all my data from anywhere in the application.. Everything language related is saved in XML and dynamicaly loaded by the migros website. The platform runs on a FreeBSD server managed by my own Company <a href="http://www.cubera.ch" target="_blank">Cubera Solutions GmbH</a>. For generating the mp3 and m4r we created a php script which concatted the different small animal sound fragments to one mp3 file and for the secondary download option as m4r we used ffmpeg to convert.</p>
<p><img class="alignnone size-full  wp-image-3237" title="terrasuisse_tellafriend" src="http://www.michaelfretz.com/wp-content/uploads/2010/06/terrasuisse_tellafriend.jpg" alt="" width="580" height="439" /></p>
<p><img class="alignnone size-full wp-image-3239" title="iPhoneApp" src="http://www.michaelfretz.com/wp-content/uploads/2010/06/iPhoneApp.jpg" alt="" width="580" height="439" /></p>
<p><strong>Looking back</strong><br />
After finishing this project I&#8217;m very happy with it. All requested functionality could be built even-though we didn&#8217;t know if it is possible in the first place. The site works quite good and its cute and fun to play with it.<br />
Many thanks to Claude Ebersold from <a href="http://www.jvm.ch" target="_blank">Jung von Matt</a> for providing all the cute graphics and for pushing me to work all day and night. Also thanks to Nadja Holdener for helping us where-ever help was needed, for creating many of the animations, and especially for learning and handling SVN so quickly. A special thank goes to Matthias Adolf for leading the project and letting me be part of it. Thank you all!</p>
<p><strong>Try it</strong><br />
You can try this application <a href="http://www.migros.ch/DE/Supermarkt/Engagement/TerraSuisse/Seiten/TerraSuisseTiere.aspx" target="_blank">here</a> (german)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2010/07/10/migros-terra-suisse-who-is-muh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using AJAX To Load Data From PHP Into Your Website</title>
		<link>http://www.michaelfretz.com/2010/04/21/using-ajax-to-load-data-from-php-into-your-website/</link>
		<comments>http://www.michaelfretz.com/2010/04/21/using-ajax-to-load-data-from-php-into-your-website/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 08:44:24 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/?p=3212</guid>
		<description><![CDATA[A few days ago I had to build a web-app for a mobile device. The problem  was, that some external input device changed values in a database and I  had to make this visible in my web-app.
I came across a good  solution from the w3c school. The problem was that  this [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I had to build a web-app for a mobile device. The problem  was, that some external input device changed values in a database and I  had to make this visible in my web-app.</p>
<p>I came across a good  solution from the <a href="http://www.w3schools.com/php/php_ajax_database.asp" target="_blank">w3c school</a>. The problem was that  this only updated with a user input. Therefore I changed quite some  part of their script and made it easy understandable. To keep the coding  part as small and easy as possible, I will not access a database in my  example. My PHP  script only displays the PHP function <a href="http://ch.php.net/manual/de/function.date.php" target="_blank">date(&#8220;H:i:s&#8221;);</a> which  shows the current time. You could easy build what ever you want in the  the PHP  script but keep in mind that this code will be called often and could slow down  your server if you have many users and a short refresh  time and therefore to many requests to your server.</p>
<p><strong>Whats do you  need in order to see this example.</strong><br />
I created this example in three  files.<br />
- The HTML File<br />
- The Javascript File<br />
- The PHP File<br />
<span id="more-3212"></span></p>
<p><strong>The  HTML File:</strong><br />
This File loads the Javascript File in order to access  all the Javascript functions. In the &lt;body&gt; tag we load the  function startRefreshing() from the  javascript File</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&lt;title&gt;Ajax Test&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;test.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body onload=&quot;startRefreshing()&quot;&gt;
&nbsp;
    &lt;div id=&quot;idForAJAXReplace&quot;&gt;
    	Placeholder which will be replaced by the PHP content
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p><strong>The Javascript File (test.js)</strong><br />
In the scripts I defined  which PHP  fill should be executed every time the Loop starts. The repeat time is  also defined in this script as well as the id of the DIV tag which  should be replaced by the data sent by the PHP file. Quite some part of this  script are based from the w3c school but I got rid of many unnecessary  stuff for my example.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// Config for the javascript part</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> urlForPHP 			<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;test.php&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> milsecondsTillRepeat 	<span style="color: #339933;">=</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> idForReplace		<span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;idForAJAXReplace&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> startRefreshing<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	setTimeout<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;startRefreshing()&quot;</span><span style="color: #339933;">,</span>milsecondsTillRepeat<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	reloadPHP<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/// the following code is based on http://www.w3schools.com/php/php_ajax_database.asp  but I shorted it quite some bit</span>
<span style="color: #003366; font-weight: bold;">var</span> xmlhttp<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> reloadPHP<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	xmlhttp<span style="color: #339933;">=</span>GetXmlHttpObject<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>xmlhttp<span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066;">alert</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Your Browser does not support HTTP Request&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #003366; font-weight: bold;">var</span> url<span style="color: #339933;">=</span>urlForPHP<span style="color: #339933;">;</span>
	url<span style="color: #339933;">=</span>url<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;?random=&quot;</span><span style="color: #339933;">+</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	xmlhttp.<span style="color: #660066;">onreadystatechange</span><span style="color: #339933;">=</span>stateChanged<span style="color: #339933;">;</span>
	xmlhttp.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;GET&quot;</span><span style="color: #339933;">,</span>url<span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	xmlhttp.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> stateChanged<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>xmlhttp.<span style="color: #660066;">readyState</span><span style="color: #339933;">==</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>idForReplace<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span><span style="color: #339933;">=</span>xmlhttp.<span style="color: #660066;">responseText</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> GetXmlHttpObject<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">XMLHttpRequest</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// code for IE7+, Firefox, Chrome, Opera, Safari</span>
  <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">ActiveXObject</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// code for IE6, IE5</span>
  <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">new</span> ActiveXObject<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Microsoft.XMLHTTP&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>The PHP file (test.php)</strong><br />
This file gets called  every 1000 ms (defined in the Javascript File). For the demo I only  display the current server time. Of course you could display here data  from the database or any other PHP script which you need to have  repeat called by the website.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;H:i:s&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><a href='http://www.michaelfretz.com/wp-content/uploads/2010/04/ajaxPHP.zip'>Download demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2010/04/21/using-ajax-to-load-data-from-php-into-your-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internship Project 2 : Almer Blank Labs</title>
		<link>http://www.michaelfretz.com/2010/02/08/internship-project-2-almer-blank-labs/</link>
		<comments>http://www.michaelfretz.com/2010/02/08/internship-project-2-almer-blank-labs/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 04:19:18 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Internship USA]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/?p=3127</guid>
		<description><![CDATA[
My second project from the time of my internship which i want to show you is the Almer Blank Labs. This project is currently online and can be seen at labs.almerblank.com. I designed and developed the Wordpress Theme. The design goal for me was to create a design which is clean but also gives the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-3128" title="labsalmerblank" src="http://www.michaelfretz.com/wp-content/uploads/2010/02/labsalmerblank.png" alt="labsalmerblank" width="580" height="120" /></p>
<p>My second project from the time of my internship which i want to show you is the <span>Almer</span> Blank Labs. This project is currently online and can be seen at <a href="http://labs.almerblank.com" target="_blank">labs.almerblank.com</a>. I designed and developed the Wordpress Theme. The design goal for me was to create a design which is clean but also gives the impression of a lab. It should show what we guys at <span>Almer</span>/Blank do or what we look at. The posts get syndicated from different employee blogs and I had to make sure that the pictures and other formatting stuff from other sites work on our site.</p>
<p><span id="more-3127"></span></p>
<p>My main work on this project was to create the design, build it into HTML and <span>CSS</span> and write the necessary changes in <span>PHP</span>. During this process I tried to optimize the site for search engines and <span>diffrent</span> devices. If you visit the blog on a mobile device like an <span>iPhone</span> or any Android Phone you will see a different, for small screens optimized version of the blog.</p>
<p><img class="alignnone size-full wp-image-3135" title="labsalmerblank3" src="http://www.michaelfretz.com/wp-content/uploads/2010/02/labsalmerblank3.png" alt="labsalmerblank3" width="580" height="349" /></p>
<p>labs.almerblank.com on my HTC Hero</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2010/02/08/internship-project-2-almer-blank-labs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Studio Revo</title>
		<link>http://www.michaelfretz.com/2010/02/07/studio-revo/</link>
		<comments>http://www.michaelfretz.com/2010/02/07/studio-revo/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 03:51:32 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Webapplikation]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/?p=3121</guid>
		<description><![CDATA[My roommate Junya Sakino is a talented filmmaker here in Los Angeles. In the last couple of days we quickly build his website. The site is Wordpress driven and uses a couple different plugins. The website design was created by Junya and I build it into Wordpress. I used the capricon theme but changed quite [...]]]></description>
			<content:encoded><![CDATA[<p>My roommate <span>Junya</span> Sakino is a talented filmmaker here in Los Angeles. In the last couple of days we quickly build his website. The site is <span>Wordpress</span> driven and uses a couple different <span>plugins</span>. The website design was created by <span>Junya</span> and I build it into <span>Wordpress</span>. I used the <span>capricon</span> theme but changed quite some stuff. The reason why I mention this website here on my blog is because its a good example for a small and easy website build with <span>Wordpress</span>. Using <span>Wordpress</span> as a <span>CMS</span> is one of the quickest solutions and its easy for both, the developer and the customer.<img class="alignnone size-full wp-image-3122" title="studio-revo" src="http://www.michaelfretz.com/wp-content/uploads/2010/02/studio-revo.png" alt="studio-revo" width="580" height="393" /></p>
<p>Visit his website: <a href="http://www.studiorevo.com" target="_blank">www.studiorevo.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2010/02/07/studio-revo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML Visualization with AS3.0, Tween Lite, MojoFont, PHP 5 and MySQL</title>
		<link>http://www.michaelfretz.com/2009/08/20/xml-visualization-with-as30-tween-lite-mojofont-php-5-and-mysql/</link>
		<comments>http://www.michaelfretz.com/2009/08/20/xml-visualization-with-as30-tween-lite-mojofont-php-5-and-mysql/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 11:26:33 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[mojofont]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tween lite]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/?p=2740</guid>
		<description><![CDATA[One of the main reason I use Actionscript 3.0 is to create data visualization. Most times the data is saved in a XML or database. Therefore I would like to show you some parts of of a recently developed program.
Here is an example of the final result.
(Please open the article to see the flash file [...]]]></description>
			<content:encoded><![CDATA[<p>One of the main reason I use Actionscript 3.0 is to create data visualization. Most times the data is saved in a XML or database. Therefore I would like to show you some parts of of a recently developed program.<br />
Here is an example of the final result.</p>
<p><object type="application/x-shockwave-flash" data="http://www.michaelfretz.com/wp-content/uploads/2009/08/Hagedorn_Organigramm.swf" width="580" height="600" class="embedflash"><param name="movie" value="http://www.michaelfretz.com/wp-content/uploads/2009/08/Hagedorn_Organigramm.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><small>(Please open the article to see the flash file or player.)</small></object></p>
<p><span id="more-2740"></span></p>
<p><strong>Font Embedding</strong></p>
<p>Because most time you visualize data you need to write some text to it. If you have done any pure ActionScript projects in Flex or FDT you know this stuff sucks. The resulting code looks like this and it takes hours of googling to get to the right embed parameters/tags.</p>
<p><img class="alignnone size-full wp-image-2742" title="Font embedding" src="http://www.michaelfretz.com/wp-content/uploads/2009/08/fontembeddingoldfashinway.jpg" alt="Font embedding" width="580" height="185" /></p>
<p>But now the way of font handling in Actionscript changed. My colleague Philipp Laeubli created a plugin for eclipse which makes font embedding a piece of cake. If your interested in this, just apply for a private beta account on <a href="http://mojofont.badmojo.ch" target="_blank">mojofont.badmojo.ch</a>.<br />
Here a little example how to embed a font with the mojofont plugin.<br />
<img class="alignnone size-full wp-image-2743" title="Font embedding with mojofont" src="http://www.michaelfretz.com/wp-content/uploads/2009/08/fontembeddingeasyway.png" alt="Font embedding with mojofont" width="425" height="178" /></p>
<p>Instead of writing a whole bunch of metacode and doing some strange font registration, you import your font, and then you can use ist like this: Helvetica.createTextField(). Thats it. All the nasty embedding code and other things are completely handled by the plugin which generates a simple to use and embed swc file.</p>
<p><strong>Tweening</strong><br />
For the hole tweening I used the tweenlite library from <a href="http://blog.greensock.com/tweenliteas3/" target="_blank">http://blog.greensock.com/tweenliteas3/</a>. In my opinion it is one of the best tweening libarys and very easy to use.</p>
<p><strong>XML Loading</strong><br />
I wrote a XMLLoader class. The XMLLoader class loads the hole data of the XML into a String. As soon as its finishes with loading, it dispatches an event. With the getter methods its easy to recive the data and use it afterwards in your programm.</p>
<p><img class="alignnone size-full wp-image-2749" title="xmlloader1" src="http://www.michaelfretz.com/wp-content/uploads/2009/08/xmlloader1.jpg" alt="xmlloader1" width="512" height="554" /></p>
<p><strong>PHP File to generate XML</strong><br />
Many of you will ask why I id use XML. In my opinion its the easiest way of recieving data and its easy to generate it from a database. To generate the XML file I developed a PHP file. This file connects to a MySQL database and loads the whole content of the defined table.  At the moment you will have to define the used fields by hand. First of all, be sure you have all the needed fields in your database. Afterwards change the values in the begin of the mysqlToXML.php file. You have two options. 1: Make the PHP file look like an XML after loading it or 2: let it generate an external file. The first one is the better way if you change often data but dont have to many visitors. The option with the external file is a good option if you want to save database connections because you only ned to generate the XML file once you have changed some data. If you use the external XML file option, be sure that you have the write permission set on your webspace. After you generated your XML just make sure your XML loader class in your Actionscript project knows the path to the file. If you use the other option just add the path of the mysqlToXML.php in your Actionscript project.<br />
<a href="http://www.michaelfretz.com/wp-content/uploads/2009/08/mysqlToXML.zip">Download mysqlToXML.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2009/08/20/xml-visualization-with-as30-tween-lite-mojofont-php-5-and-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Centered Design &#8211; TouchPanel Applikation</title>
		<link>http://www.michaelfretz.com/2009/01/13/user-centered-design-touchpanel-applikation/</link>
		<comments>http://www.michaelfretz.com/2009/01/13/user-centered-design-touchpanel-applikation/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 09:57:36 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[User Centred Design]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/2009/01/13/user-centered-design-touchpanel-applikation/</guid>
		<description><![CDATA[Im Modul User Centered Design haben wir uns mit einer Applikation befasst, welche auf einem Touchscreen installiert ist.
Konzept und Idee:
Ein Touchscreen für ex libris Filialen zur Vor-Ort-Bestellung von Produkten aus dem Internet: www.exlibris.ch
Fokus haben wir bei unserem Prototyp auf die Sparte Musik gelegt &#8211; natürlich wäre es auch denkbar das Touchscreen um andere Produktkategorien wie [...]]]></description>
			<content:encoded><![CDATA[<p>Im Modul User Centered Design haben wir uns mit einer Applikation befasst, welche auf einem Touchscreen installiert ist.</p>
<p>Konzept und Idee:<br />
Ein Touchscreen für ex libris Filialen zur Vor-Ort-Bestellung von Produkten aus dem Internet: www.exlibris.ch<br />
Fokus haben wir bei unserem Prototyp auf die Sparte Musik gelegt &#8211; natürlich wäre es auch denkbar das Touchscreen um andere Produktkategorien wie Bücher, Videospiele, usw. &#8230; zu erweitern.</p>
<p>Während des ganzen Entwicklungsprozesses haben wir regelmässig Testbenutzer in das Projekt einbezogen.</p>
<p>Zu Beginn haben wir einen Paper-Prototyp entwickelt.</p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2009/01/paperprototyp_exlibris.jpg" alt="Paperprototyp" /></p>
<p>Den Paperprototyp haben wir mit verschiedenen Testbenutzer getestet. Das Feedback haben wir ausgewertet und anschliessend einen Prototyp in PHP und XHTML entwickelt.</p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2009/01/test_prototyp01.jpg" alt="Usertest Prototyp" /></p>
<p>Prototyp Test</p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2009/01/test_prototyp02.jpg" alt="Usertest Prototyp" /></p>
<p>Prototyp Test</p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2009/01/website_prototyp.jpg" alt="UCD Website Prototyp" /></p>
<p>Printscreen der Touchscreen Applikation</p>
<p>Im Hintergrund unserer Applikation verwendeten wir das PHP Last.FM API von matto1990.com. Mit Hilfe dieser Applikation konnten wir die Daten von Last.FM abfragen und für unsere Anwendung aufbereiten. Mit Script Aculos<br />
(http://script.aculo.us) verwendeten wir das Javascript Framework welches Hauptsächlich für das Anzeigen der Daten und die Animationen eingesetzt wurde. Auch mit Javascript haben wir eine Tastatur entwickelt, welche auf dem Touchpanel eingesetzt wurde. Da wir eine Art Template verwendet haben konnten in unserer Entwicklungsphase mehrere Designs gleichzeitig auf der Applikation verwenden und diese mit einem JumpMenu einfach<br />
umschalten.<br />
URL zur Demo: <a href="http://ucd.michaelfretz.com">http://ucd.michaelfretz.com</a></p>
<p>Download Dokumentation :<a title="Dokumentation" href="http://www.michaelfretz.com/wp-content/uploads/2009/01/dokumentation_exlibris_kleinstedateigroesse.pdf">Dokumentation</a> (PDF 2.7MB)</p>
<p>Download: <a title="Keynote" href="http://www.michaelfretz.com/wp-content/uploads/2009/01/praesentation_exlibris.zip">Keynote Präsentation</a> (ZIP 2MB)</p>
<p>Team: Christoph Brandin, Liliane Krauss, Michael Fretz</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2009/01/13/user-centered-design-touchpanel-applikation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multilineare Stories 2.0 :-)</title>
		<link>http://www.michaelfretz.com/2009/01/06/multilineare-stories-20/</link>
		<comments>http://www.michaelfretz.com/2009/01/06/multilineare-stories-20/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 10:37:21 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Multilineare Stories]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/2009/01/06/multilineare-stories-20/</guid>
		<description><![CDATA[zweimal.ch ist eine Onlineplattform, auf welcher Mutilineare Stories gelesen und geschrieben werden können
Auf dieser Webseite können einerseits verschiedene Multilineare Stories gelesen werden. Dies Funktioniert so: Man wählt zuerst eine Geschichte aus und liest deren ersten Textblock. Sodann kann man zwischen mehreren verschiedenen Antworten wählen, welche zu unterschiedlichen weiteren Textblöcken führen. So kann man die Handlung [...]]]></description>
			<content:encoded><![CDATA[<p>zweimal.ch ist eine Onlineplattform, auf welcher Mutilineare Stories gelesen und geschrieben werden können<br />
Auf dieser Webseite können einerseits verschiedene Multilineare Stories gelesen werden. Dies Funktioniert so: Man wählt zuerst eine Geschichte aus und liest deren ersten Textblock. Sodann kann man zwischen mehreren verschiedenen Antworten wählen, welche zu unterschiedlichen weiteren Textblöcken führen. So kann man die Handlung der Geschichte, welche man gerade am lesen ist, selbst beeinflussen. Und auch wenn man dieselbe Geschichte nochmals von Anfang zu lesen beginnt, kann durch nur eine einzige anderst gewählte Antwort die Handlung völlig von der vorhergehenden abweichen.</p>
<p>Des weitere kann man eine bereits bestehende Geschichte beliebig erweitern.</p>
<p class="Stil1">Dies geht so: kommt man an einen Punkt, an welchem die Geschichte nicht mehr weitergeht oder möchte man bei einem Textblock eine weitere Antwort einfügen, wechselt man durch klick auf &#8220;Editiermodus&#8221; in den Editiermodus. Sodann kann man eine weitere Auswahlmöglichkeit hinzufügen, das heisst, man schreibt als erstes eine neue Frage. Danach kann man per DropDown entweder einen neuen Textblock erstellen oder einen bereits bestehenden verwenden.<br />
Erstellt man einen neuen Textblock sollte man einen Titel und anschliessend den eigenen Text eingeben. Ist dies geschehen, können wiederum neue Auswahlmöglichkeiten hinzugefügt werden, und man beginnt von vorne.</p>
<p>Zudem kann zu jedem Textblock ein Bild raufgeladen werden.</p>
<p>Die Webseite ist im Rahmen des Moduls Storytelling an der ZHdK enstanden. Die Gruppenmitglieder waren: Mario von Rickenbach, Michael Fretz, Tobias Koller, Gabriel Süess, Dondup Shelkar und Phillipe Meier.<br />
URL: <a href="http://www.zweimal.ch">www.zweimal.ch </a></p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2009/01/zweimal_ch_multilinearestories02.jpg" alt="multilineare stories 2.0" />Ansichtmodus</p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2009/01/zweimal_ch_multilinearestories021.jpg" alt="Multilineare Stories 2.0 :-)" /><br />
Ansicht Editiermodus</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2009/01/06/multilineare-stories-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sommerferien sind vorbei</title>
		<link>http://www.michaelfretz.com/2008/09/18/sommerferien-sind-vorbei/</link>
		<comments>http://www.michaelfretz.com/2008/09/18/sommerferien-sind-vorbei/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 14:48:13 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/2008/09/18/sommerferien-sind-vorbei/</guid>
		<description><![CDATA[Lange ist es her seit meinem letzten Eintrag. Doch es ist viel passiert in der Zwischenzeit. Das zweite Semester gehört nun zur Vergangenheit und das dritte hat auch schon angefangen.
Während meiner mehr als drei Monaten Sommerferien habe ich mich intensiv mit dem programmieren auseinander gesetzt. Zum einen habe ich ein kleines Game programmiert welches ich [...]]]></description>
			<content:encoded><![CDATA[<p>Lange ist es her seit meinem letzten Eintrag. Doch es ist viel passiert in der Zwischenzeit. Das zweite Semester gehört nun zur Vergangenheit und das dritte hat auch schon angefangen.<br />
Während meiner mehr als drei Monaten Sommerferien habe ich mich intensiv mit dem programmieren auseinander gesetzt. Zum einen habe ich ein kleines Game programmiert welches ich hier bald veröffentlichen werde, zum anderen habe ich ein Praktikum bei „dctrl Interactive Media and Motion Graphics“ absolviert. Doch was macht man in so einen Praktikum? Ich habe gleich zu Beginn mit PHP programmieren angefangen. Als Aufgabe sollte ich ein Bug Tracking System programmieren wo man Fehler über ein einfaches Formular mit Fileupload eintragen kann. Das ganze musste selbstverständlich in Objekt Orientiertem Programmierten PHP5 und auch gegen Angriffe sicher programmiert sein. Formularvalidierung musste serverseitig und clientseitig geschehen. Im Backend des BugTracking Systems musste eine Liste mit allen Bugs generiert werden, die Bugs mussten gelöscht, modifiziert und Personen zugewiesen werden können. Um ein solches System zu erstellen habe ich verschiedene PHP Klasse erstellt welche ich im Anschluss des Projektes auch noch für andere Programme verwenden konnte. Ich habe alles von Grund auf programmiert und keine bestehenden Elemente verwendet da es mir sehr wichtig war, dass alles was ich mache und brauche auch wirklich verstehe. Da ich mein Praktikum ja in einer auf Flash spezialisierten Firma gemacht habe galt es natürlich das ganze Bug Tracking noch in Flash bzw. Action Script 3 in OOP umzusetzen. Auch das wollte mir gelingen. So konnte ich stolz am letzen Tag auf ein kleines Programm zurück schauen welches in Action Script und PHP zusammen mit MySQL programmiert ist und im Zusammenspiel reibungslos funktionierte. Im Grossen und Ganzen kann man sagen das ich die Zeit bei dctrl sehr genossen habe und es mir Spass gemacht hat, viele neue Dinge zu lernen und mit einem guten Team zusammen zu arbeiten.<br />
Wenn ich die Zeit finde bzw. ein Bedürfnis besteht ein Fileupload Script in Action Script3 hier als Tutorial zu erhalten werde ich ein solches schreiben. Im Internet findet man dazu leider nicht viel taugliches. Den SourceCode meiner Arbeit werde ich hier nicht veröffentlichen da dies mein Vertrag nicht erlaubt.<br />
Mitte August war mein Praktikum dann aber leider auch schon wieder zu Ende den ich wollte noch ein wenig Reisen gehen. Da ich noch nie in Asien war beschloss ich nach Indonesien zu fliegen und dort Lombok und Bali ein wenig genauer anzuschauen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2008/09/18/sommerferien-sind-vorbei/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Interfaces &#8211; rum.Pirat</title>
		<link>http://www.michaelfretz.com/2008/05/29/web-interfaces-rumpirat/</link>
		<comments>http://www.michaelfretz.com/2008/05/29/web-interfaces-rumpirat/#comments</comments>
		<pubDate>Thu, 29 May 2008 09:39:34 +0000</pubDate>
		<dc:creator>Michael Fretz</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.michaelfretz.com/2008/05/29/web-interfaces-rumpirat/</guid>
		<description><![CDATA[[See post to watch Flash video]
ZIEL
An der ZHdK mit einer Webapplikation eine Dienstleistung zu vereinfachen.
KONZEPT
Sinn und Ziel eines web-basierten Auftrages für eine verlängerte Raumbelegung ist es, das alte, (Gelbe-) Papierzettel-System an der ZHdK abzulösen. Der momentan vorhandene Zettel soll durch ein ähnlich aufgebautes Web-Formular ersetzt werden. Dies vor allem aus dem Grund, dass es oft [...]]]></description>
			<content:encoded><![CDATA[[See post to watch Flash video]
<p>ZIEL<br />
An der ZHdK mit einer Webapplikation eine Dienstleistung zu vereinfachen.</p>
<p>KONZEPT<br />
Sinn und Ziel eines web-basierten Auftrages für eine verlängerte Raumbelegung ist es, das alte, (Gelbe-) Papierzettel-System an der ZHdK abzulösen. Der momentan vorhandene Zettel soll durch ein ähnlich aufgebautes Web-Formular ersetzt werden. Dies vor allem aus dem Grund, dass es oft zeitlich nicht möglich ist eine Raumverlängerung einzugeben. Auch der Weg um Raumverlängerungen zu beantragen kann gespart werden da die Räume ortsunabhängig eingegeben werden können.<br />
Momentane Situation<br />
Um eine Raumbelegungsanzeige ausfüllen zu können, muss sich ein Student im Hauptgebäude momentan ins Erdgeschoss begeben, um bis 17.00 Uhr ein solches Papierformular auszufüllen, was oft aus Zeitmangel ein Problem darstellt.<br />
Da viele andere Dienste wie z. B. Bücherbestellungen auch bereits in eine digitale Form überführt wurden, erscheint es nur logisch, diese Dienstleistung ebenfalls zu digitalisieren. Die Vorteile für Nutzer währen vielfältig: es kann ein Raum bei Bedarf (auch ohne den Unterricht vor 17.00 Uhr zu verlassen) verlängert werden, und dies auch, wenn sich der Student nicht in demselben Gebäude befindet, in welchem er ein Zimmer verlängern möchte. Durch die eindeutige Identifikation mittels ITZ-Login kann exakt ermittelt werden, wer genau den Raum reserviert hat. Die für Raumreservationen zuständige Person muss sich nicht mit diversen “Zetteln“ herumschlagen, sondern erhält auf digitalem Weg eine geordnete Liste aller zur reservierenden Zimmer, welche ohne grossen Aufwand an weitere Personen wie z. B. Securitas weitergeleitet werden kann. Zudem wären Listen aller in ZHdK-Gebäuden reservierten Räume in digitaler (per Email versendbarer Form) bereits von Beginn des Prozesses an verfügbar.</p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2008/05/rumpiratwebinterfaces1.jpg" alt="Webinterface rum.Pirat" /></p>
<p>Webseite für die Verlängerung der Räume mit geöffneter Hilfe.</p>
<p><img src="http://www.michaelfretz.com/wp-content/uploads/2008/05/rumpiratwebinterfaces2.jpg" alt="Webinterface rum.Pirat" /></p>
<p>FAZIT<br />
Abschliessend könnte man sagen, dass wir mit unserem Projekt sehr zufrieden sind. Anfängliche Schwierigkeiten mit Wordpress wurden relativ schnell behoben. Wir haben alle viel gelernt, wie man beispielsweise seine eigenen Ideen im Team besprechen und argumentieren kann. Technisch haben wir uns weiter entwickelt und Wordpress als etwas grösseres als nur ein Blogsystem kennen gelernt.<br />
Falls das Projekt weiter entwickelt werden darf, müssten wir noch ein paar Dinge anpassen. Zum einen würden wir das Raumerfassungsscript selber programmieren und nicht auf das TDO Mini Form zurück greifen. Dies hätte den Vorteil, dass wir die Daten in einer eigenen Tabelle in der Datenbank speichern können, welche besser auf unsere Bedürfnisse angepasst ist. Weiter würden wir eine Möglichkeit einbauen, um Raumreservationen nach Datum anzuzeigen. Eine Druckansicht für den Hausdienst wäre auch noch in Planung.</p>
<p><a href="http://rumpirat.michaelfretz.com">Webseite zum selber ausprobieren: rum.Pirat </a></p>
<p><a title="rum.Pirat Dokumentation (PDF)" href="http://www.michaelfretz.com/wp-content/uploads/2008/05/rumpirat_doku.pdf">rum.Pirat Dokumentation (PDF 2.3MB)</a></p>
<p>Screencast:</p>
[See post to watch Flash video]
<p>Web Interfaces / Information Architecture<br />
Dozent: Dipl. Des. Stefano Vannotti<br />
Studenten: Michael Fretz | Raphael Habbegger | Tobias Koller | Philippe Meier</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michaelfretz.com/2008/05/29/web-interfaces-rumpirat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
