<?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>NSCoriolisBlog</title>
	<atom:link href="http://blog.coriolis.ch/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.coriolis.ch</link>
	<description>Just another Coriolis weblog</description>
	<lastBuildDate>Mon, 01 Aug 2011 11:36:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Get your Apple device model name in a readable format</title>
		<link>http://blog.coriolis.ch/2011/08/01/get-your-apple-device-model-name-in-a-readable-format/</link>
		<comments>http://blog.coriolis.ch/2011/08/01/get-your-apple-device-model-name-in-a-readable-format/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 11:36:04 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[device name]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=361</guid>
		<description><![CDATA[With OSX Lion, when you select &#8220;About this Mac&#8221; => &#8220;More Info&#8221; (or open the System Profiler), it displays your computer model name in a readable format. After a little snooping with HTTPScoop, I found that the name comes from an Apple server. System profiler will send the last 3 characters of your machine serial [...]]]></description>
			<content:encoded><![CDATA[<p>With OSX Lion, when you select &#8220;About this Mac&#8221; => &#8220;More Info&#8221; (or open the System Profiler), it displays your computer model name in a readable format.</p>
<p><a  href="http://blog.coriolis.ch/wp-content/uploads/2011/08/About-This-Mac.jpg"><img src="http://blog.coriolis.ch/wp-content/uploads/2011/08/About-This-Mac.jpg" alt="About This Mac" title="About This Mac" width="614" height="363" class="alignnone size-full wp-image-383" /></a></p>
<p>After a little snooping with HTTPScoop, I found that the name comes from an Apple server.</p>
<p>System profiler will send the last 3 characters of your machine serial number and the server will send back the machine name, in xml format.</p>
<p>My iMac serial ends with &#8220;5RU&#8221; so calling the url below and passing &#8220;5RU&#8221; as a parameter:</p>
<pre><code>curl -o - "http://support-sp.apple.com/sp/product?cc=5RU&amp;lang=en_US"</code></pre>
<p>gives:<br />
<code>
<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;root&gt;
&lt;name&gt;CPU Name&lt;/name&gt;
&lt;configCode&gt;iMac (27-inch, Late 2009)&lt;/configCode&gt;
&lt;locale&gt;en_US&lt;/locale&gt;
&lt;/root&gt;</pre>
<p></code><br />
Changing the locale works:</p>
<pre><code>curl -o - "http://support-sp.apple.com/sp/product?cc=5RU&amp;lang=fr_CH"</code></pre>
<p>gives:<br />
<code>
<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;root&gt;
&lt;name&gt;CPU Name&lt;/name&gt;
&lt;configCode&gt;iMac (27 pouces, fin 2009)&lt;/configCode&gt;
&lt;locale&gt;fr_FR&lt;/locale&gt;
&lt;/root&gt;</pre>
<p></code><br />
It works also with the iPhone:</p>
<pre><code>curl -o - "http://support-sp.apple.com/sp/product?cc=A4S&amp;lang=en_US"</code></pre>
<p>gives:<br />
<code>
<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;root&gt;
&lt;name&gt;CPU Name&lt;/name&gt;
&lt;configCode&gt;iPhone 4&lt;/configCode&gt;
&lt;locale&gt;en_US&lt;/locale&gt;
&lt;/root&gt;</pre>
<p></code></p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2011/08/01/get-your-apple-device-model-name-in-a-readable-format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>It&#8217;s not my fault</title>
		<link>http://blog.coriolis.ch/2011/02/01/its-not-my-fault/</link>
		<comments>http://blog.coriolis.ch/2011/02/01/its-not-my-fault/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 19:44:33 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[cocoa]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[Mike Lee]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=308</guid>
		<description><![CDATA[&#8220;Bugs are always your fault. Actual bugs in the framework accounts for an infinitesimal percentage of bugs, and even if there is a bug in there, you’re the one who pissed it off.&#8221; Mike Lee, aka @bmf So many times I&#8217;ve heard people say: &#8220;it&#8217;s not my fault, it&#8217;s a bug in the framework/OS/firmware/WTFware&#8221;. Do [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;<em><strong>Bugs are always your fault. Actual bugs in the framework accounts for an infinitesimal percentage of bugs, and even if there is a bug in there, you’re the one who pissed it off.</strong></em>&#8221;</p>
<p>Mike Lee, aka @bmf</p>
<p>So many times I&#8217;ve heard people say: &#8220;it&#8217;s not my fault, it&#8217;s a bug in the framework/OS/firmware/WTFware&#8221;.</p>
<p>Do what you&#8217;re paid for. Make it work.</p>
<p>Read the complete post here: <a  href="http://le.mu.rs/motherfucker/Entries/2011/2/1_Layers_+_Ruler_=_Swearing.html">Layers + Ruler = Swearing</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2011/02/01/its-not-my-fault/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>APNS Resources</title>
		<link>http://blog.coriolis.ch/2010/03/13/apns-resources/</link>
		<comments>http://blog.coriolis.ch/2010/03/13/apns-resources/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 09:43:13 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=291</guid>
		<description><![CDATA[Just a reminder: I keep my list of Apple Push Notification Service Gateways up-to-date. You can find it on my blog here.]]></description>
			<content:encoded><![CDATA[<p>Just a reminder: I keep my list of Apple Push Notification Service Gateways up-to-date.</p>
<p>You can find it on my blog <a  href="http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2010/03/13/apns-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSConference 2010</title>
		<link>http://blog.coriolis.ch/2010/02/09/nsconference-2010/</link>
		<comments>http://blog.coriolis.ch/2010/02/09/nsconference-2010/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 15:51:46 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=282</guid>
		<description><![CDATA[I was in Reading UK last week to attend the NSConference 2010. I will not write a full report of what happened there, because others will do that better. The only thing I want to say is:if you want to improve your skills in Cocoa, for Mac, iPhone or iPad, you should go: you&#8217;ll have [...]]]></description>
			<content:encoded><![CDATA[<p>I was in Reading UK last week to attend the <a  href="http://www.nsconference.com/">NSConference 2010</a>. I will not write a full report of what happened there, because others will do that better.</p>
<p>The only thing I want to say is:if you want to improve your skills in Cocoa, for Mac, iPhone or iPad, you should go: you&#8217;ll have the best speakers, the best organization you can dream of. And you will come back with new contacts, new ideas, new code to try.</p>
<p>You can (should) read Alex Repty report <a  href="http://alexrepty.com/archives/179-NSConference-2010-UK.html">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2010/02/09/nsconference-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tablet, iSlate, iPad, &#8230;</title>
		<link>http://blog.coriolis.ch/2010/01/26/tablet-islate-ipad/</link>
		<comments>http://blog.coriolis.ch/2010/01/26/tablet-islate-ipad/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 21:54:17 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[greasekit]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[islate]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=270</guid>
		<description><![CDATA[If, like me, you are tired seeing all these rumors about the absolutely freaking crazy product that Apple MAY announce tomorrow, and you are tired of reading about these rumors on absolutely every website in the world, I have a solution for you. It&#8217;s a GreaseMonkey (and GreaseKit) script that will obliterate all mentions of [...]]]></description>
			<content:encoded><![CDATA[<p>If, like me, you are tired seeing all these rumors about the absolutely freaking crazy product that Apple <strong>MAY</strong> announce tomorrow, and you are tired of reading about these rumors on absolutely every website in the world, I have a solution for you.</p>
<p>It&#8217;s a GreaseMonkey (and GreaseKit) script that will obliterate all mentions of the words &#8220;Tablet&#8221;, &#8220;iSlate&#8221;, &#8220;iPad&#8221;, &#8220;iTablet&#8221; and replace them with &#8220;Unicorn&#8221;, because more people have seen Unicorns than the famous iTablet.<br />
<span id="more-270"></span><br />
So this is how this post looks without the script:<br />
<a  href="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.07.jpg"><img src="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.07.jpg" alt="Script Disabled" title="Without" width="586" height="159" class="aligncenter size-full wp-image-272" /></a></p>
<p>And with script installed:<br />
<a  href="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.18.jpg"><img src="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.18.jpg" alt="Script enabled" title="With" width="579" height="158" class="aligncenter size-full wp-image-273" /></a></p>
<p>To use this script, you&#8217;ll need to have <a  href="https://addons.mozilla.org/firefox/addon/748">GreaseMonkey</a> installed (if running Firefox) or <a  href="http://8-p.info/greasekit/">GreaseKit</a> if you use Safari.</p>
<p>You can install (or download) the script <a  href="http://www.coriolis.ch/unicorn.user.js"> here </a>.</p>
<p>This script is based on the <a  href="http://diveintogreasemonkey.org/casestudy/dumbquotes.html">dumbquotes</a> sample, my previous attempt with jQuery was a too heavy to load for each page.</p>
<p>Have fun, and I hope I will not need this script for too long.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2010/01/26/tablet-islate-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extend UIWebView to handle all special links</title>
		<link>http://blog.coriolis.ch/2009/10/29/extend-uiwebview-to-handle-all-special-links/</link>
		<comments>http://blog.coriolis.ch/2009/10/29/extend-uiwebview-to-handle-all-special-links/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 21:57:09 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[UIWebView]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=235</guid>
		<description><![CDATA[Have you ever wanted to add an UIWebView to your application, so you can browse the internets without leaving your application? While it is a trivial task to add an UIWebView to a project, there are some links that an UIWebView will not handle. These are: mailto YouTube maps.google.com iTunes AppStore I&#8217;ve written a generic [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to add an UIWebView to your application, so you can browse the internets without leaving your application? While it is a trivial task to add an UIWebView to a project, there are some links that an UIWebView will not handle.</p>
<p>These are:</p>
<ul>
<li>mailto</li>
<li>YouTube</li>
<li>maps.google.com</li>
<li>iTunes</li>
<li>AppStore</li>
</ul>
<p>I&#8217;ve written a generic BrowserViewController, code available on GitHub here: <a  href="http://github.com/sburlot/browserviewcontroller">http://github.com/sburlot/browserviewcontroller</a> which handles all these cases:</p>
<p><strong>mailto</strong> links are handled with a MFMail: I tried to handle all variations on the link: &#8220;to&#8221;, &#8220;cc&#8221;, &#8220;subject&#8221; and &#8220;body&#8221;.</p>
<p><strong>YouTube</strong>, <strong>Map</strong>, <strong>iTunes</strong> and <strong>AppStore</strong> links are opened in their respective apps.</p>
<p>You can customise the view and decide if you want a navigation tab bar or not.</p>
<p>The navigation tab bar will add standard web buttons: Back, Forward, Stop, Reload and also a button to send the url of the current page via email, or open it in Safari.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/10/29/extend-uiwebview-to-handle-all-special-links/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>As Seen On TV</title>
		<link>http://blog.coriolis.ch/2009/10/06/as-seen-on-tv/</link>
		<comments>http://blog.coriolis.ch/2009/10/06/as-seen-on-tv/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 14:41:18 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[nouvo]]></category>
		<category><![CDATA[television]]></category>
		<category><![CDATA[tsr]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=230</guid>
		<description><![CDATA[The swiss TV (TSR) made a portrait of me, for the tech show &#8220;Nouvo&#8221;. Grab it here while it&#8217;s hot: Nouvo, sept. 30 2009]]></description>
			<content:encoded><![CDATA[<p>The swiss TV (TSR) made a portrait of me, for the tech show &#8220;Nouvo&#8221;. Grab it here while it&#8217;s hot: <a  href="http://www.nouvo.ch/s-043">Nouvo, sept. 30 2009</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/10/06/as-seen-on-tv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing an iPhone Application: tools round up</title>
		<link>http://blog.coriolis.ch/2009/09/24/designing-an-iphone-application/</link>
		<comments>http://blog.coriolis.ch/2009/09/24/designing-an-iphone-application/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 09:44:54 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=217</guid>
		<description><![CDATA[There are different schools on how to start the design of an iPhone app. Some will prefer designing on paper (I do), others will use the computer to design their next breath-taking GUI. So here is a list of some of the tools, template to design your next iPhone application. Templates: Keynote &#8217;09: via MockApp [...]]]></description>
			<content:encoded><![CDATA[<p>There are different schools on how to start the design of an iPhone app. Some will prefer designing on paper (I do), others will use the computer to design their next breath-taking GUI.</p>
<p>So here is a list of some of the tools, template to design your next iPhone application.</p>
<p>Templates:</p>
<ul>
<li>Keynote &#8217;09: <a  href="http://mockapp.com/download/">via MockApp</a></li>
<li>Microsoft PowerPoint (WTF?): <a  href="http://mockapp.com/download/">via MockApp</a></li>
<li>OmniGraffle: <a  href="http://www.graffletopia.com/stencils/413">via Patrick Crowley</a></li>
<li>OmniGraffle: <a  href="http://www.graffletopia.com/stencils/392">via Yahoo</a></li>
<li>OmniGraffle: <a  href="http://www.graffletopia.com/stencils/495"> via Designing Web Interfaces</a></li>
<li>Illustrator: <a  href="http://www.mercuryintermedia.com/blog/index.php/2009/03/iphone-ui-vector-elements">via Mercury Intermedia</a></li>
<li>PhotoShop: <a  href="http://www.teehanlax.com/blog/?p=1628">via Teehan+Lax</a></li>
</ul>
<p>Specialized Tools</p>
<ul>
<li><a  href="http://www.balsamiq.com/">Balsamiq Mockups</a></li>
</ul>
<p>For pen &#038; paper aficionados:</p>
<ul>
<li>Stainless steel stencil: <a  href="http://www.designcommission.com/shop/iphone-stencil-kit/">iPhone Stencil Kit</a></li>
<li>DesignCommission also provides a <a  href="http://www.designcommission.com/shop/iphone-stencil-kit/">PDF template</a>
<li>Sketch Paper in pdf: <a  href="http://labs.boulevart.be/index.php/2008/06/05/sketch-paper-for-the-mobile-designer/">on labs.boulevard</a></li>
<li>Printed SketchBook: <a  href="http://www.mobilesketchbook.com/">Kaplan Software Group</a></li>
</ul>
<p>In <a  href="http://www.pragprog.com/titles/ahptl/pragmatic-thinking-and-learning">Pragmatic Thinking and Learning: Refactor Your Wetware</a>, Andy Hunt recommends using pen and paper to use your right brain and free your creative mind. When using a computer, you will concentrate on the details, not the complete user experience.</p>
<p>Another drawback of using a computer: if you show your design to the client, he also will concentrate on the details (&#8220;can you change the shade of this red button? It&#8217;s TOO red.&#8221;). Showing a hand-drawn design will let him <em>imagine</em> how the final product will look. This can be a double-edged sword, so you better know what the customer is expecting before using one of these techniques.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/09/24/designing-an-iphone-application/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arbitrary rotation of a CGImage</title>
		<link>http://blog.coriolis.ch/2009/09/04/arbitrary-rotation-of-a-cgimage/</link>
		<comments>http://blog.coriolis.ch/2009/09/04/arbitrary-rotation-of-a-cgimage/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 09:13:50 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[cgimage]]></category>
		<category><![CDATA[cgimageref]]></category>
		<category><![CDATA[rotation]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=206</guid>
		<description><![CDATA[For my current project, I have to rotate a CGImageRef by an arbitrary angle. Here is the code: - (CGImageRef)CGImageRotatedByAngle:(CGImageRef)imgRef angle:(CGFloat)angle { CGFloat angleInRadians = angle * (M_PI / 180); CGFloat width = CGImageGetWidth(imgRef); CGFloat height = CGImageGetHeight(imgRef); CGRect imgRect = CGRectMake(0, 0, width, height); CGAffineTransform transform = CGAffineTransformMakeRotation(angleInRadians); CGRect rotatedRect = CGRectApplyAffineTransform(imgRect, transform); CGColorSpaceRef [...]]]></description>
			<content:encoded><![CDATA[<p>For my current project, I have to rotate a CGImageRef by an arbitrary angle.</p>
<p>Here is the code:</p>
<pre><code>
- (CGImageRef)CGImageRotatedByAngle:(CGImageRef)imgRef angle:(CGFloat)angle
{
  CGFloat angleInRadians = angle * (M_PI / 180);
  CGFloat width = CGImageGetWidth(imgRef);
  CGFloat height = CGImageGetHeight(imgRef);

  CGRect imgRect = CGRectMake(0, 0, width, height);
  CGAffineTransform transform = CGAffineTransformMakeRotation(angleInRadians);
  CGRect rotatedRect = CGRectApplyAffineTransform(imgRect, transform);

  CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
  CGContextRef bmContext = CGBitmapContextCreate(NULL,
                                                 rotatedRect.size.width,
                                                 rotatedRect.size.height,
                                                 8,
                                                 0,
                                                 colorSpace,
                                                 kCGImageAlphaPremultipliedFirst);
  CGContextSetAllowsAntialiasing(bmContext, FALSE);
  CGContextSetInterpolationQuality(bmContext, kCGInterpolationNone);
  CGColorSpaceRelease(colorSpace);
  CGContextTranslateCTM(bmContext,
                        +(rotatedRect.size.width/2),
                        +(rotatedRect.size.height/2));
  CGContextRotateCTM(bmContext, angleInRadians);
  CGContextTranslateCTM(bmContext,
                        -(rotatedRect.size.width/2),
                        -(rotatedRect.size.height/2));
  CGContextDrawImage(bmContext, CGRectMake(0, 0,
                                           rotatedRect.size.width,
                                           rotatedRect.size.height),
                     imgRef);

  CGImageRef rotatedImage = CGBitmapContextCreateImage(bmContext);
  CFRelease(bmContext);
  [(id)rotatedImage autorelease];

  return rotatedImage;
}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/09/04/arbitrary-rotation-of-a-cgimage/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Apple Push Notification Service Gateways</title>
		<link>http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/</link>
		<comments>http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 18:32:14 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apn]]></category>
		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=183</guid>
		<description><![CDATA[I&#8217;ve not yet had the request to implement Push in an iPhone app, but a thread on the Developer Forums gave me a hint: Some companies are already providing (or planning to provide) a gateway to the APN: These are: Urban Airship iLime AppNotify These are in closed beta: Push.io iPushServer.com msgpush Urban Airship and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve not yet had the request to implement Push in an iPhone app, but a thread on the Developer Forums gave me a hint:</p>
<p>Some companies are already providing (or planning to provide) a gateway to the APN:</p>
<p>These are:</p>
<ul>
<li><a  href="http://urbanairship.com">Urban Airship</a></li>
<li><a  href="http://www.ilime.com/">iLime</a></li>
<li><a  href="http://www.appnotify.com/">AppNotify</a></li>
</ul>
<p>These are in closed beta:</p>
<ul>
<li><a  href="http://push.io/">Push.io</a></li>
<li><a  href="http://www.ipushserver.com/">iPushServer.com</a></li>
<li><a  href="http://msgpush.com/">msgpush</a></li>
</ul>
<p>Urban Airship and iLime also provide In App Purchase.</p>
<p>Or you can build your own: <strong>Open Source &#038; Tutorials</strong></p>
<ul>
<li><a  href="http://code.google.com/p/apns-php/">ApnsPHP: Apple Push Notification &#038; Feedback Provider</a></li>
<li><a  href="http://www.easyapns.com/">EasyAPNS: Open Source solution (PHP, MySQL)</a></li>
<li><a  href="http://blog.boxedice.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/">Tutorial on how to setup your own server in PHP</a></li>
<li><a  href="http://code.google.com/p/php-apns/">Source code (in PHP), requires PHP with memcache</a></li>
<li><a  href="http://code.google.com/p/apns-python-wrapper/">Python wrapper for Apple Push Notification Service</a></li>
<li><a  href="http://pyapns.org/">A universal Apple Push Notification Service (APNS) provider in Python</a></li>
<li><a  href="http://chrismoos.com/2009/07/13/apple-push-notification-library-for-haskell/">Apple Push Notification Library for Haskell</a></li>
<li><a  href="http://github.com/thegeekbird/Apns4r/tree/master">Apple Push Notification Library for Ruby</a></li>
<li><a  href="http://github.com/samsoffes/apple_push_notification">Rails plugin for Apple Push Notifications</a></li>
<li><a  href="http://github.com/markbates/apn_on_rails/tree/master">Apple Push Notifications on Rails</a></li>
<li><a  href="http://code.google.com/p/apns-sharp/">Apple Push Notification &#038; Feedback Services Client C# Library</a></li>
<li><a  href="http://github.com/aufflick/p5-net-apns-persistent"> Persistent Apple APNS interface for Perl 5</a></li>
</ul>
<p>I will try to keep this list updated.</p>
<p>Edit: added ApnsPHP &#038; pyapns.org<br />
Edit: separated the active services from the beta, added msgpush.com and C# Library<br />
Edit: added a Rails plugin<br />
Edit: added AppNotify (in Beta)<br />
Edit: AppNotify is no more in Beta.<br />
Edit: Added EasyAPNS source code<br />
Edit: Removed <a  href="http://www.httpush.com/">Bigcurl HTTPush</a>, since it&#8217;s reserved for <a  href="http://www.bigcurl.de/">bigcurl  agency</a> customers<br />
Edit: added a Perl module</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: www.coriolis.ch @ 2012-02-04 22:24:16 -->
