<?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>webfraggle &#187; iphone</title>
	<atom:link href="http://www.ketzler.de/tag/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ketzler.de</link>
	<description>Christoph Ketzler&#039;s Blog</description>
	<lastBuildDate>Tue, 03 Jan 2012 13:30:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Adobe AIR Gyroscope Native Extension with Euler Angles (roll, pitch, yaw) for iOS</title>
		<link>http://www.ketzler.de/2011/11/adobe-air-gyroscope-native-extension-with-euler-angles-roll-pitch-yaw-for-ios/</link>
		<comments>http://www.ketzler.de/2011/11/adobe-air-gyroscope-native-extension-with-euler-angles-roll-pitch-yaw-for-ios/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 14:32:28 +0000</pubDate>
		<dc:creator>webfraggle</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flash Platform]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[DeviceMotion]]></category>
		<category><![CDATA[Gyroscope]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[MotionManager]]></category>
		<category><![CDATA[Native Extension]]></category>
		<category><![CDATA[pitch]]></category>
		<category><![CDATA[roll]]></category>
		<category><![CDATA[yaw]]></category>

		<guid isPermaLink="false">http://www.ketzler.de/?p=708</guid>
		<description><![CDATA[I baked my very first AIR iOS Native Extension. It&#8217;s just an adapted version of this version from Adobe. Because in my opinion the data of radians per second aren&#8217;t really good to handle. So I looked into Apples API documentation and found out that there are Euler Angles in the CMMotionManager CMDeviceMotion classes. So [...]]]></description>
			<content:encoded><![CDATA[<p>I baked my very first AIR iOS Native Extension. It&#8217;s just an adapted version of <a href="http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/gyroscope.html">this version from Adobe</a>. Because in my opinion the data of radians per second aren&#8217;t really good to handle. So I looked into Apples API documentation and found out that there are Euler Angles in the CMMotionManager CMDeviceMotion classes. So I just changed a few lines in the Objective-C Code. I learned much from this tutorial <a href="http://www.liquid-photo.com/2011/10/28/native-extension-for-adobe-air-and-ios-101/">Native Extionsion for Adobe AIR and iOS 101 by Liquid Photo</a></p>
<pre class="brush: objc; title: ; notranslate">
NSString *myStr = [NSString stringWithFormat:@&quot;%f&amp;%f&amp;%f&amp;%f&amp;%f&amp;%f&quot;,
rotate.x,
rotate.y,
rotate.z,
motionManager.deviceMotion.attitude.roll,
motionManager.deviceMotion.attitude.pitch,
motionManager.deviceMotion.attitude.yaw];

[motionManager startDeviceMotionUpdates];

motionManager.deviceMotionUpdateInterval = 0;
</pre>
<p>And added these three parameters roll, pitch and yaw to the Actionscript Gyroscope Event.</p>
<pre class="brush: as3; title: ; notranslate">
new GyroscopeEvent(GyroscopeEvent.UPDATE, _x, _y, _z, _roll, _pitch, _yaw)
</pre>
<p>You can download source and final iOS .ane Native Extension file here:<br />
<a href='http://www.ketzler.de/wp-content/uploads/2011/11/iOS-Air-Native-Extension-Gyroscope-with-Euler-Angles.zip'>iOS Air Native Extension Gyroscope &#8211; with Euler Angles</a></p>
<p>]]></content:encoded>
			<wfw:commentRss>http://www.ketzler.de/2011/11/adobe-air-gyroscope-native-extension-with-euler-angles-roll-pitch-yaw-for-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resign an iPhone App, insert new Bundle ID and send to Xcode Organizer for Upload</title>
		<link>http://www.ketzler.de/2011/01/resign-an-iphone-app-insert-new-bundle-id-and-send-to-xcode-organizer-for-upload/</link>
		<comments>http://www.ketzler.de/2011/01/resign-an-iphone-app-insert-new-bundle-id-and-send-to-xcode-organizer-for-upload/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 12:01:47 +0000</pubDate>
		<dc:creator>webfraggle</dc:creator>
				<category><![CDATA[Adobe Flash Platform]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[codesign]]></category>
		<category><![CDATA[ipa]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[organizer]]></category>
		<category><![CDATA[packager for iphone]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[provisioning]]></category>
		<category><![CDATA[resign]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[validate]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.ketzler.de/?p=587</guid>
		<description><![CDATA[The challenge: Create a Flash App, pack it with the Packager for iPhone with my certificate and provisioning profiles, send it to the client that he can resign it with his informations and import it into Xcode Organizer for validating and uploading to the App Store. I did some research and found out that all [...]]]></description>
			<content:encoded><![CDATA[<p>The challenge: Create a Flash App, pack it with the Packager for iPhone with my certificate and provisioning profiles, send it to the client that he can resign it with his informations and import it into Xcode Organizer for validating and uploading to the App Store.<br />
<span id="more-587"></span><br />
I did some research and found out that all signing processes in Xcode (while building or resigning in Organizer) is done with a tool called codesign. This tool can also be used via Terminal. I tried it with my Flash .ipa and the included .app. It worked.</p>
<p>But because it is difficult always to use the terminal with more lines long commands I decided to develop a little AIR tool using the new NativeProcess API.<br />
<br/><br/><br />
And here is how it works:<br />
<br/><br/><br />
<strong>1. Select the .ipa.</strong><br />
<a href="http://www.ketzler.de/wp-content/uploads/2011/01/02.png"><img src="http://www.ketzler.de/wp-content/uploads/2011/01/02-300x232.png" alt="" title="02" width="300" height="232" class="alignnone size-medium wp-image-591" /></a><br />
<strong>What is executed:</strong><br />
Old files in this directory are deleted.<br />
The .ipa will be unzipped.<br />
<code>unzip -o /path/to/YourApp.ipa -d /path/to</code><br />
Find the first .app file inside /Payload.<br />
Load the Info.plist file.<br />
Use the CFBundleExecutable as the binary filename.<br />
<br/><br/><br />
The current Signing Authority is read and the entitlements were extracted. The entitlements are needed, because without them the Xcode Organizer can&#8217;t sign the app with a new Provisioning Certificate.<br />
<code>codesign -d -vv --entitlements "/path/to/entitlements" /path/to/Payload/YourApp.app/YourApp</code><br />
<br/><br/><br />
<strong>2. Sign it with a new Signing Authority.</strong><br />
Enter your new Signing Authority. The correct String can be copy&#038;pasted via your keychain.<br />
<a href="http://www.ketzler.de/wp-content/uploads/2011/01/04.png"><img src="http://www.ketzler.de/wp-content/uploads/2011/01/04-300x232.png" alt="" title="04" width="300" height="232" class="alignnone size-medium wp-image-594" /></a><br />
<a href="http://www.ketzler.de/wp-content/uploads/2011/01/keychain.png"><img src="http://www.ketzler.de/wp-content/uploads/2011/01/keychain-300x236.png" alt="" title="keychain" width="300" height="236" class="alignnone size-medium wp-image-595" /></a><br />
<br/><br/><br />
<strong>3. Enter new Bundle Identifier (App ID Suffix)</strong><br />
This must match with your App ID created in the Apple Developer Provisioning Portal.<br />
<a href="http://www.ketzler.de/wp-content/uploads/2011/01/05.png"><img src="http://www.ketzler.de/wp-content/uploads/2011/01/05-300x232.png" alt="" title="05" width="300" height="232" class="alignnone size-medium wp-image-596" /></a><br />
<br/><br/><br />
<strong>4. Resign App and change App ID.</strong><br />
The binary will be resigned with your new informations.<br />
<strong>What is executed:</strong><br />
First, codesign with your extracted entitlements:<br />
<code>codesign -f -s "New Signing Authority" -i "new.bundle.id" --entitlements "/path/to/entitlements" -vv /path/to/Payload/YourApp.app/YourApp</code><br />
Second, change the the Bundle Identifier also inside the Info.plist file.<br />
<br/><br/><br />
<strong>5. Send it to Xcode Organizer for validating and uploading</strong><br />
After clicking the button open Xcode and go to Window > Organizer<br />
<a href="http://www.ketzler.de/wp-content/uploads/2011/01/041.png"><img src="http://www.ketzler.de/wp-content/uploads/2011/01/041-300x215.png" alt="" title="04" width="300" height="215" class="alignnone size-medium wp-image-597" /></a></p>
<p><strong>How does this work:</strong><br />
This was a little bit tricky and needed much research how the Organizer wants the Apps.<br />
Every Archived Build is moved to /UserDir/Library/MobileDevice/Archived Applications/UUID.<br />
So first a UUID is generated an a directory with it is created.<br />
e.g. /UserDir/Library/MobileDevice/Archived Applications/8D3E5DF2-F079-4A3B-460D-5525A6C5472B</p>
<p>Then the .app file is copied to that location. But the Orgnanizer needs an ArchiveInfo.plist file with correct informations in it. </p>
<p>My tool uses a standard template and changes all needed information, so that they are matching the informations in your .apps Info.plist file. These are CFBundleIdentifier, CFBundleDisplayName, CFBundleVersion, MinimumOSVersion, DTPlatformVersion, DTSDKName, CFBundleExecutable, CFBundleDisplayName.<br />
Some other data needs to be generated out of other information. e.g. the UUID of the directory or the Archivedate.<br />
Apple counts dates from 01.01.2001 &#8211; 00:00:00. Surprising.<br />
<br/><br/><br />
That&#8217;s it.<br />
<br/><br/><br />
At the moment this works only with Flash iPhone Apps. I tried it quickly with another .ipa but it fails. I did no investigation in it because at the moment I didn&#8217;t need it.<br />
<br/><br/><br />
<strong>Tip:</strong><br />
Xcode Organizer fails silent. But you can look at the Terminal messages of codesign in your Console Log (Konsole in german). Maybe there you can find why validating or uploading fails.</p>
<p><strong>Downloads:</strong><br />
<a href='http://www.ketzler.de/wp-content/uploads/2011/01/iOSSendToOrganizer.dmg'>iOSSendToOrganizer.dmg Installer</a></p>
<p><strong>Source:</strong><br />
If you make changes or enhancements please share them with me<br />
<a href='http://www.ketzler.de/wp-content/uploads/2011/01/iOSSendToOrganizer.fxp'>iOSSendToOrganizer Source</a></p>
<p>]]></content:encoded>
			<wfw:commentRss>http://www.ketzler.de/2011/01/resign-an-iphone-app-insert-new-bundle-id-and-send-to-xcode-organizer-for-upload/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Encode and deliver MP4 Video for Flash, iPhone, iPad, Android, Quicktime with timeshift possibility</title>
		<link>http://www.ketzler.de/2010/07/encode-and-deliver-mp4-video-for-flash-iphone-ipad-android-quicktime-with-timeshift-possibility/</link>
		<comments>http://www.ketzler.de/2010/07/encode-and-deliver-mp4-video-for-flash-iphone-ipad-android-quicktime-with-timeshift-possibility/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 20:30:42 +0000</pubDate>
		<dc:creator>webfraggle</dc:creator>
				<category><![CDATA[Adobe Flash Platform]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[Flash media server]]></category>
		<category><![CDATA[h264]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mp4]]></category>
		<category><![CDATA[mp4box]]></category>
		<category><![CDATA[quicktime]]></category>

		<guid isPermaLink="false">http://www.ketzler.de/?p=474</guid>
		<description><![CDATA[A big challenge was to find a solution to encode and deliver videos for as much platforms as possible. The only thing that was clear I had to use mpeg4 for max. compatibility. Initial Position: We have many PAL videos with up to 20 different languages. All are around an hour. They are organized in [...]]]></description>
			<content:encoded><![CDATA[<p>A big challenge was to find a solution to encode and deliver videos for <strong>as much platforms as possible</strong>. The only thing that was clear I had to use mpeg4 for max. compatibility.<br />
<span id="more-474"></span><br />
Initial Position: We have many PAL videos with up to 20 different languages. All are around an hour. They are organized in chapters. </p>
<h4>Client needs:</h4>
<ul>
<li>Multilanguage</li>
<li>Timeshift / Pseudo-streaming / Random access to jump directly to a chapter</li>
<li>Two different bandwidths</li>
<li>Maximum quality</li>
<li>Download security</li>
<li>Platforms: Desktop (Flash), iPhone, iPad, Android and maybe more in the future</li>
</ul>
<p>My main thought was, ok, many of the features needed will work with Adobes Flash Media Server. But how can I deliver skippable video to iDevices with the same comfort. And another challenge was the client&#8217;s network. It&#8217;s a big company so they have a firewall and a proxy with a strong content filter.</p>
<h4>Server possibilities:</h4>
<ul>
<li><strong>Flash Media Server</strong> (rtmp and rtmpt via http tunneling, easy install, works out of the box)</li>
<li><strong>red5</strong> (rtmp, not so easy to configure, java knowledge needed)</li>
<li><strong>Webserver only</strong> (http progressive download no skipping)</li>
<li><a href="http://stream.xmoov.com/"><strong>xmoovstream</strong></a> (http, php script, random access for iDevices but not for mp4 in combination with flash)
</li>
<li><a href="http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Apache-Version2"><strong>H264 streaming extension by trac</strong></a> for a variety of webservers (http, pseudo-streaming mp4 video for Flash and iDevices)
</ul>
<p>After some tests I made my decision to use <strong>Flash Media Server with the bundled Apache webserver extended by the h264 streaming extension</strong>. This works fine for all purposes and is in my opinion the best and easiest combination of rtmp and http with skipping directly into the video without loading it completely, I think it&#8217;s also called random access. And the best, you only need to store your files once on the server. </p>
<p>And now to the encoding part. It must be a fast encoding because we have many different audio languages, the video track is almost the same. The only way to do this, is the possibility to encode the video separately from the audio and muxing it together.</p>
<h4>Encoding possibilities:</h4>
<ul>
<li><strong>Adobe Media Encoder</strong> (Good encoding quality, No muxing (maybe it can be done with external tools), sometimes the videos will not play on iDevices, Flash needs to be installed on the encoding computer)</li>
<li><strong>Sorenson Squeeze</strong> (No muxing(maybe it can be done with external tools), didn&#8217;t find any good quality encoding settings)</li>
<li><strong>ffmpeg</strong> in combination with <strong>mp4box</strong> (Good encoding quality, muxing possible, nothing needs to be installed on the encoding computer, just put the binaries, a batch file and the source files on the network or a external hard-drive and go)</li>
</ul>
<p>It&#8217;s clear, that I used the last one. If you want to use it too, just google for some binaries for your operating system. Important is that you find a <strong>ffmpeg version with libx264</strong> included. </p>
<h4>Encoding settings:</h4>
<p>Both are two pass encoding settings for best quality</p>
<p><strong>High Quality (Video &#038; Audio)</strong> &#8211; Flash, iPad, Quicktime (not on iPhone because this uses a better h264 profile the iPhone can&#8217;t play) maybe iPhone 4:</p>
<p>Pass 1;<br />
<code>ffmpeg -y -i in.avi -pass 1 -vcodec libx264 -b 750k -g 300 -bf 3 -refs 6 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp +chroma -me_range 16 -me_method umh -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -directpred 3 -flags2 +dct8x8+wpred+bpyramid+mixed_refs -trellis 1 -partitions +parti8x8+parti4x4+partp8x8+partp4x4+partb8x8 -acodec libfaac -ab 64k out-high.mp4</code></p>
<p>Pass 2:<br />
<code>ffmpeg -y -i in.avi -pass 2 -vcodec libx264 -b 750k -g 300 -bf 3 -refs 6 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp +chroma -me_range 16 -me_method umh -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -directpred 3 -flags2 +dct8x8+wpred+bpyramid+mixed_refs -trellis 1 -partitions +parti8x8+parti4x4+partp8x8+partp4x4+partb8x8 -acodec libfaac -ab 64k out-high.mp4<br />
</code></p>
<p><strong>Low Quality (Video &#038; Audio)</strong> (works on all platforms):</p>
<p>Pass 1:<br />
<code>ffmpeg -y -i in.avi -pass 1 -s 384x288  -vcodec libx264 -b 230k -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -acodec libfaac -ab 32k -ac 1 out-low.mp4</code></p>
<p>Pass 2:<br />
<code>ffmpeg -y -i in.avi -pass 2 -s 384x288  -vcodec libx264 -b 230k -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -acodec libfaac -ab 32k -ac 1 out-low.mp4<br />
</code></p>
<p><strong>Adding the needed hinting stream and interleaving the stream in chunks</strong> (same for both):</p>
<p><code>mp4box -inter 500 -hint out-high.mp4<br />
mp4box -inter 500 -hint out-low.mp4</code></p>
<h4>Audio only encoding</h4>
<p><code>ffmpeg -y -i "audio-lc.wav"  -acodec libfaac -ab 64k -ac 1 audio-lc-64.m4a<br />
ffmpeg -y -i "audio-lc.wav"  -acodec libfaac -ab 32k -ac 1 audio-lc-32.m4a</code></p>
<h4>Muxing Audio and Video together</h4>
<p><code>mp4box -add audio-lc-32.m4a#audio out-low-lc.mp4<br />
mp4box -add out-low.mp4#video out-low-lc.mp4<br />
mp4box -inter 500 -hint out-low-lc.mp4<br/><br />
mp4box -add audio-lc-64.m4a#audio out-high-lc.mp4<br />
mp4box -add out-high.mp4#video out-high-lc.mp4<br />
mp4box -inter 500 -hint out-high-lc.mp4</code></p>
<p>A good player to test all this is the <a href="http://www.longtailvideo.com/players/jw-flv-player">jw player</a>. It is also available as html5 beta version so you can also try it on an iPad. </p>
<p>We are developing our own player because we need some special features like chaptermenus and subtitles. </p>
<p>Hope this can help someone. If you have some questions just ask in comments. </p>
<p>]]></content:encoded>
			<wfw:commentRss>http://www.ketzler.de/2010/07/encode-and-deliver-mp4-video-for-flash-iphone-ipad-android-quicktime-with-timeshift-possibility/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Simulations of medical devices on touch devices, multi-screen publishing (Desktop, iPhone, iPad, Android &#8230;)</title>
		<link>http://www.ketzler.de/2010/07/simulations-of-medical-devices-on-touch-devices-desktop-iphone-ipad-android/</link>
		<comments>http://www.ketzler.de/2010/07/simulations-of-medical-devices-on-touch-devices-desktop-iphone-ipad-android/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 20:29:00 +0000</pubDate>
		<dc:creator>webfraggle</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flash Platform]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Flash CS5]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Multiscreen]]></category>
		<category><![CDATA[Open Screen Project]]></category>

		<guid isPermaLink="false">http://www.ketzler.de/?p=385</guid>
		<description><![CDATA[At innovation mecom, where I&#8217;m employed, we developed a simulation for training and marketing of a Dr&#228;ger NIV ventilator called Carina®. It&#8217;s a small handy device to ventilate patients in hospitals. This Flash AS3 simulation reproduces all functions of the real device. So it is possible to get a real good impression of it even [...]]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://www.innovationmecom.de">innovation mecom</a>, where I&#8217;m employed, we developed a simulation for training and marketing of a Dr&#228;ger NIV ventilator called<a href="http://www.draeger.com/UK/en/products/medical_ventilation/subacute_ventilation/rsp_Carina.jsp"> Carina®.</a> It&#8217;s a small handy device to ventilate patients in hospitals. This Flash AS3 simulation reproduces all functions of the real device. So it is possible to get a real good impression of it even without using a real device. </p>
<p><strong>UPDATE: <a href="http://itunes.apple.com/de/app/carinatrainer/id418538909?mt=8">The iPhone Version is online. </a></strong></p>
<p><a href="http://www.draeger.com/local/products/carina_trainer/start.html">The online version of this trainer can be found here.</a></p>
<p>I did the coding of this simulation and I thought it would be an amazing experience to use this on an iPhone or another touch device.<br />
<img src="http://www.ketzler.de/wp-content/uploads/2010/07/carina-iphone.jpg" alt="" title="carina-iphone" width="640" height="360" class="alignnone size-full wp-image-460" /></p>
<p><span id="more-385"></span> But there is no flash on Apples iDevices. So, the first time I heard about that Adobe will integrate an iPhone packager in his Flash CS5 version I was very happy and curious about it. I couldn&#8217;t wait for that version to try it. But then, short time before the CS5 release, Steve Jobs changed his terms and conditions. He integrated only one sentence which made me sad again. Because of that sentence it is not allowed to submit apps to the app store not developed with Xcode.</p>
<p>But Adobe released the iPhone packager anyway and I was able to do some tests with it even if I never will submit a Flash App to the Apple Store. But Adobe was not sleeping. They did an alliance with all other mobile device manufactures. They call it the <a href="http://www.openscreenproject.org/">Open Screen Project</a>. And the first result is the Flash Player 10.1 for Android 2.2 devices. So in the near future many Android and Flash enabled touch devices will come to the market.</p>
<p>And here is the result of my first studies with the iPhone and Android packager.<br />
I just had to reposition some buttons because of the smaller resolution and packaged it with the iPhone packager in Flash CS5. This worked great and the result was amazingly good.</p>
<p>Next thing was to try it on Android. I registered for the developer beta program at adobe and tried the android packager for CS5. This works also very fine. Unfortunately I didn&#8217;t own an Android device so I had to use the virtual simulator which is really slow on my notebook. But the main thing is, that it works also without any bigger adaptions. And last week I got an iPad. And needless to say, I tried the carina app there too. It&#8217;s just a scaled iPhone version but the feeling of using it is really really good. I think it is not possible to get it nearer to a real ventilation device. </p>
<p>Here is a short video of the results trying publishing Flash on multiple devices (Browser, iPhone, iPad and the Android Simulator).</p>
<p><object type="application/x-shockwave-flash" width="640" height="360" data="http://stream.ketzler.de/xsexamples/servers/embed/video/mp4/Carina_Multiscreen"><param name="movie" value="http://stream.ketzler.de/xsexamples/servers/embed/video/mp4/Carina_Multiscreen"/><param name="allowfullscreen" value="true"/><video src="http://stream.ketzler.de/xsexamples/servers/video/Carina_Multiscreen.mp4" width="640" height="360" controls /><br />
</object></p>
<p>So I&#8217;m really curious about what Adobe does next. They announced an Android tablet with Flash Player and AIR. And then we get so much new and amazing possibilities using multitouch devices for simulating medical devices for training.</p>
<p>]]></content:encoded>
			<wfw:commentRss>http://www.ketzler.de/2010/07/simulations-of-medical-devices-on-touch-devices-desktop-iphone-ipad-android/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="http://stream.ketzler.de/xsexamples/servers/video/Carina_Multiscreen.mp4" length="21793660" type="video/mp4" />
		</item>
		<item>
		<title>Warum ich Apple liebe&#8230;</title>
		<link>http://www.ketzler.de/2010/01/warum-ich-apple-liebe/</link>
		<comments>http://www.ketzler.de/2010/01/warum-ich-apple-liebe/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 23:02:57 +0000</pubDate>
		<dc:creator>webfraggle</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobiles internet]]></category>

		<guid isPermaLink="false">http://www.ketzler.de/2010/01/warum-ich-apple-liebe/</guid>
		<description><![CDATA[Warum ich Apple liebe: Situation, mein Chef und ich im Zug. Wir wollen beide mit unseren Rechnern ins Interent. Ich klappe mein MacBook auf, melde mich an, krame mein iPhone aus der Hose, schalte Bluetooth und Tethering ein, Klick, Klick, &#8220;mit iPhone verbinden&#8221; und ich kann mit meinen Kollegen chatten. W&#228;hrenddessen f&#228;hrt das teure Vaio [...]]]></description>
			<content:encoded><![CDATA[<p>Warum ich Apple liebe: Situation, mein Chef und ich im Zug. Wir wollen beide mit unseren Rechnern ins Interent. Ich klappe mein MacBook auf, melde mich an, krame mein iPhone aus der Hose, schalte Bluetooth und Tethering ein, Klick, Klick, &#8220;mit iPhone verbinden&#8221; und ich kann mit meinen Kollegen chatten. W&#228;hrenddessen f&#228;hrt das teure Vaio Business Notebook mit integriertem UMTS Modem nebenan noch hoch. Nach der Anmeldung und dem Starten des Verbindungsmanagers l&#228;sst sich die Sim nicht dazu &#252;berreden eine Pin abzufragen. Rumprobieren, Manager neustarten, geht nicht. Also noch mal runter und hoch fahren. Ich checke und beantworte inzwischen schon meine mails und chatte munter weiter. Nach dem Neustart kann er endlich eine Pin eingeben und ist online. Inzwischen habe ich sogar noch des Chefs iPhone gejailbreakt. Und darum liebe ich Apple Produkte. </p>
<p>]]></content:encoded>
			<wfw:commentRss>http://www.ketzler.de/2010/01/warum-ich-apple-liebe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

