<?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>Roger Boesch &#187; 3.0</title>
	<atom:link href="http://www.rogerboesch.com/tag/3-0/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rogerboesch.com</link>
	<description>iPhone, iPad und iPod Touch</description>
	<lastBuildDate>Thu, 01 Apr 2010 20:04:49 +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>SailAway Demo Video</title>
		<link>http://www.rogerboesch.com/2009/08/07/sailaway-demo-video/</link>
		<comments>http://www.rogerboesch.com/2009/08/07/sailaway-demo-video/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 14:49:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[iApps]]></category>
		<category><![CDATA[SailAway]]></category>
		<category><![CDATA[Sailing]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.rogerboesch.com/?p=540</guid>
		<description><![CDATA[SailAway ist nun fertig und hat die Beta Phase erfolgreich und mit viel Vorschusslorbeeren überstanden. Nach der nun üblichen, mehr oder weniger langen, Prüfungsphase durch Apple ist SailAway in Kürze im AppStore verfügbar. Als kleiner Vorgeschmack ein YouTube Video mit den wichtigsten Funktionen. Highlight ist sicherlich die OpenMap basierende Kartenintegration, die natürlich offline, d.h. ohne [...]]]></description>
			<content:encoded><![CDATA[<p>SailAway ist nun fertig und hat die Beta Phase erfolgreich und mit viel Vorschusslorbeeren überstanden. Nach der nun üblichen, mehr oder weniger langen, Prüfungsphase durch Apple ist SailAway in Kürze im AppStore verfügbar. Als kleiner Vorgeschmack ein YouTube Video mit den wichtigsten Funktionen. Highlight ist sicherlich die OpenMap basierende Kartenintegration, die natürlich offline, d.h. ohne aktive Internetverbindung zur Verfuegung steht und fast noch wichtiger, ohne teures Kartenmaterial auskommt.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/_wtRTW3Ly2g&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/_wtRTW3Ly2g&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogerboesch.com/2009/08/07/sailaway-demo-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SDK 3.0 &#8211; MapKit</title>
		<link>http://www.rogerboesch.com/2009/07/24/sdk-3-0-mapkit/</link>
		<comments>http://www.rogerboesch.com/2009/07/24/sdk-3-0-mapkit/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 10:43:11 +0000</pubDate>
		<dc:creator>roger</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone/iPad Programming]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[MapKit]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.rogerboesch.com/?p=427</guid>
		<description><![CDATA[Im iPhone SDK 3.0 gibt es viele Bereiche, die für sich alleine schon ein ganzes Blog füllen würden. Ich picke deshalb der Reihe nach ein paar der neuen Frameworks und Klassen heraus und ergänze sie jeweils mit konkreten Code Beispielen zum selber ausprobieren. Dazu gibts Videos, die den Ablauf detailliert erklären. Beginnen werde ich an [...]]]></description>
			<content:encoded><![CDATA[<p>Im iPhone SDK 3.0 gibt es viele Bereiche, die für sich alleine schon ein ganzes Blog füllen würden. Ich picke deshalb der Reihe nach ein paar der neuen Frameworks und Klassen heraus und ergänze sie jeweils mit konkreten Code Beispielen zum selber ausprobieren. Dazu gibts Videos, die den Ablauf detailliert erklären. Beginnen werde ich an der Stelle mit MapKit. MapKit ist in einfachen Worten, die Möglichkeit Google Maps in eigene Apps einzubauen, <strong>ohne</strong> das über eine normale Browseranbindung wie bisher machen zu müssen. Der Vorteil liegt auf der Hand: Alles läuft viel schneller und fast noch wichtiger, iPhone like mit schönen Animationen und Unterstützung der ganzen Gestures. Der Einstieg in MapKit ist dabei sehr einfach und geschieht durch Einbindung der von UIView abgeleiteten Klasse MkMapView. Diese stellt schon mal alles zur Verfügung, um eine Karte anzuschauen, in dieser zu scrollen und zu zoomen. Als nächstes bauen wir die Anzeige unseres aktuellen Standorts ein (die blaue, von Google Maps her bekannte Stecknadel) und ergänzen unsere kleine Map Anwendung um die Möglichkeit, einen beliebigen anderen Standort anzuzeigen. Hier kommt die MkAnnotationView Klasse zum Einsatz, die zusammen mit MKMapView die wichtigsten Konzepte einer Map Integration abdeckt. Viel Spass beim selber Ausprobieren!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/p/45578B6F6FB337DF&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/p/45578B6F6FB337DF&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Soweit unser Einstig in MapKit. Im nächsten Beitrag bauen wir das Programm aus und ergänzen es um eine einfache Suche nach Orten, die wir anschliessend in der Karte anzeigen.<br />
<a href="http://www.rogerboesch.com/tutorials/MapKit-Part1.zip">Source zum Artikel</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogerboesch.com/2009/07/24/sdk-3-0-mapkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone für Blinde</title>
		<link>http://www.rogerboesch.com/2009/07/19/iphone-fur-blinde/</link>
		<comments>http://www.rogerboesch.com/2009/07/19/iphone-fur-blinde/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 07:41:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.rogerboesch.com/?p=412</guid>
		<description><![CDATA[Unterhält man sich mit Anderen über seinen Job und erzählt, was man so macht und dass sich dabei Alles ums iPhone dreht, geht es dem Gegenüber meist recht schnell darum, Argumente zu finden, was gegen dieses Smartphone spricht  . Dieser Art von Diskussionen habe ich mich eigentlich schon immer entzogen. Für mich muss ein [...]]]></description>
			<content:encoded><![CDATA[<p>Unterhält man sich mit Anderen über seinen Job und erzählt, was man so macht und dass sich dabei Alles ums iPhone dreht, geht es dem Gegenüber meist recht schnell darum, Argumente zu finden, was gegen dieses Smartphone spricht <img src='http://www.rogerboesch.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Dieser Art von Diskussionen habe ich mich eigentlich schon immer entzogen. Für mich muss ein Produkt für sich sprechen und mich überzeugen. Und das tut das iPhone in jeder Hinsicht. Nicht weil ich vergleiche, ob die Kmera nun 3 oder 5 Megapixel Auflösung besitzt, oder ich auf anderen Handys schneller SMS schreiben kann. Auf dieser Ebene finden sich immer Argumente für oder gegen Etwas. Viel Spannender sind doch Dinge, die einem ganz neue Möglichkeiten eröffnen oder ein bestehendes Thema anders angehen.<br />
Und <a title='Original Link: http://www.apple.com/accessibility/iphone/vision.html'  href="http://www.rogerboesch.com/?Uf8chml6">VoiceOver</a> ist so ein &#8220;Ding&#8221;. Eigentlich ziemlich unspekatulär meist nur als ScreenReader bezeichnet ist es eine erstaunliche Möglichkeit für blinde Menschen, ein iPhone zu benutzen. Fährt man mit dem Zeigefiger über den Bildschirm, so &#8220;liest&#8221; einem das iPhone vor, welcher Text dort steht, welchen Button man drücken kann und so weiter. Funktionen, die es auf anderen Geräten gar nicht gibt, oder mittels spezieller Software für viel Geld nachgekauft werden müssen. Das ist es doch, was am iPhone (und Apple) so begeistert. Man kauft Visionen, nicht technische Merkmale. Wie vielschichtig diese Thema genutzt wird, zeigt auch ein interessanter <a title='Original Link: http://www.wired.com/gadgetlab/2009/07/blind-photographers/'  href="http://www.rogerboesch.com/?CzqW3JnF">Wired Artikel über blinde Photographen</a>.<br />
Für mich war dieser und ähnliche Artikel der Auschlag, zu überlegen, wie und in welcher Form man das in unsere bestehenden iApps einbauen kann oder sich ganz neue Dinge darauf aufbauen lassen.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/4apsIZCKXAY&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/4apsIZCKXAY&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogerboesch.com/2009/07/19/iphone-fur-blinde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SDK 3.1 verfügbar</title>
		<link>http://www.rogerboesch.com/2009/07/01/sdk-3-1-verfugbar/</link>
		<comments>http://www.rogerboesch.com/2009/07/01/sdk-3-1-verfugbar/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 06:24:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone/iPad Programming]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://www.rogerboesch.com/?p=279</guid>
		<description><![CDATA[Nur zwei Wochen, nachdem die Firmware 3.0 offiziell verfügbar wurde, stellt Apple den iPhone-Entwickler bereits eine neue Beta-Version zur Verfügung. Interessanterweise kommen ein paar durchaus spannende Features hinzu, die es wahrscheinlich nicht mehr rechtzeitig in den 3.0 Release geschafft hatten:

Filmschnipsel können jetzt auch als Kopie abgespeichert werden
Sprachsteuerung über Bluetooth-Headsets wir möglich
Haptisches Feedback durch Vibration, wenn [...]]]></description>
			<content:encoded><![CDATA[<p>Nur zwei Wochen, nachdem die Firmware 3.0 offiziell verfügbar wurde, stellt Apple den iPhone-Entwickler bereits eine neue Beta-Version zur Verfügung. Interessanterweise kommen ein paar durchaus spannende Features hinzu, die es wahrscheinlich nicht mehr rechtzeitig in den 3.0 Release geschafft hatten:</p>
<ul>
<li>Filmschnipsel können jetzt auch als Kopie abgespeichert werden</li>
<li>Sprachsteuerung über Bluetooth-Headsets wir möglich</li>
<li>Haptisches Feedback durch Vibration, wenn man die Anordnung der Home Apps verschiebt</li>
<li>Optimierung von OpenGL</li>
<li>API-Schnittstelle erlaubt Drittanbietern den Zugriff auf die 3GS-Videos</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.rogerboesch.com/2009/07/01/sdk-3-1-verfugbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Push Notifications</title>
		<link>http://www.rogerboesch.com/2009/06/28/push-notifications/</link>
		<comments>http://www.rogerboesch.com/2009/06/28/push-notifications/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 14:57:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone/iPad Programming]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[Push Notification]]></category>

		<guid isPermaLink="false">http://www.rogerboesch.com/?p=173</guid>
		<description><![CDATA[Push Notifications sind sicherlich eines der Highlights im SDK 3.0. Obwohl relativ leicht zu implementieren, gibt es doch einige Fallstricke und Fragen, die auftauchen, wenn man sich mit dem Thema befasst. In diesem Artikel geht es dabei im Wesentlichen um die Einbindung auf dem iPhone. Fast die meiste Arbeit gilt es jedoch auf einem Push [...]]]></description>
			<content:encoded><![CDATA[<p>Push Notifications sind sicherlich eines der Highlights im SDK 3.0. Obwohl relativ leicht zu implementieren, gibt es doch einige Fallstricke und Fragen, die auftauchen, wenn man sich mit dem Thema befasst. In diesem Artikel geht es dabei im Wesentlichen um die Einbindung auf dem iPhone. Fast die meiste Arbeit gilt es jedoch auf einem Push Provider (Server) zu implementieren, doch dazu mehr in einem der nächsten Post&#8217;s.</p>
<p>Im SDK stehen neue Methoden zur Verfügung, um Push Notifications einzubinden. Diese werden im Application Delegate untergebracht und werden vom iPhone entsprechend den eingehene Notifications aufgerufen. Dabei sind die Schritte immer dieselben:</p>
<ol>
<li>Registrieren beim Apple Notification Server (APNS). Dies ist bei jedem Start erforderlich und geschieht mittels: <em>registerForRemoteNotificationTypes</em></li>
<li>Danach ruft das iPhone OS eine der beiden Methoden auf. Im Falle einer erfolgreichen Registrierung:<em><br />
didReceiveRemoteNotification</em>, falls nicht <em>didFailToRegisterForRemoteNotificationsWithError</em>.</li>
</ol>
<p>Das war&#8217;s dann leider auch schon fast, was das SDK zu bieten hat. Leider wird beispielweise <em>didRecieveNotification</em> nur aufgerufen, wenn die Applikation gerade geöffnet ist. Erscheint jedoch die bekannte Alert Box, die einem auf eine Push Notification hinweist, wird die eigene iApp zwar gestartet, allerdings ist das Vorgehen dann anders, um darauf zu reagieren. Hier wurde eine weitere Methode eingefüht, die es  erlaubt, sogenante Launch Options beim Aufstarten abzufragen, ähnlich von Command Line Parametern auf Desktop Rechner. Auf dem iPhone heisst die entsprechende Methode <em>didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;</em> die es zu implementieren gilt. Dabei ist der wichtige Parameter <em>launchOptions</em>, in dem mittels des Keys <em>UIApplicationLaunchOptionsRemoteNotificationKey</em> die notwendigen Push Infos abgefragt werden können, was dann ungefähr so aussieht:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #400080;">NSDictionary</span><span style="color: #002200;">*</span> userInfo <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>launchOptions valueForKey<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;UIApplicationLaunchOptionsRemoteNotificationKey&quot;</span><span style="color: #002200;">&#93;</span>;</pre></td></tr></table></div>

<p>So haben wir nun iPhone seitig alles zusammen, um Push Notifications einzubinden. Alles Andere erfolgt ausschliesslich auf dem APNS und dem eigenen Server. Eine Herausforderung bleibt dabei das Testing und wie das am Besten zu bewerkstelligen ist, beschreibe ich im nächsten Topic of the Week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rogerboesch.com/2009/06/28/push-notifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
