<?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>Cocoanetics &#187; Apple</title>
	<atom:link href="http://www.cocoanetics.com/category/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cocoanetics.com</link>
	<description>Our DNA is written in Objective-C</description>
	<lastBuildDate>Sat, 18 May 2013 06:19:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F&amp;language=en_US&amp;category=text&amp;title=Cocoanetics&amp;description=Our+DNA+is+written+in+Objective-C&amp;tags=blog" type="text/html" />
		<item>
		<title>My Radar Samples Collection</title>
		<link>http://www.cocoanetics.com/2013/05/my-radar-samples-collection/</link>
		<comments>http://www.cocoanetics.com/2013/05/my-radar-samples-collection/#comments</comments>
		<pubDate>Thu, 09 May 2013 19:50:12 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8151</guid>
		<description><![CDATA[I scoured through the Cocoanetics blog for all the individual ZIP files of sample apps that I had made to accompany some of my Apple bug reports. I like to create a fresh project for each bug to demonstrate, so these sample apps don&#8217;t contain anything that I would not want to be public. The samples can be categorized into: Open, Fixed and Not a Bug. For the ones that got fixed I also mention as of which iOS version. These samples serve as a nice reminder how much more likely Apple engineers are fixing reported bugs if you can provide them a quick to grasp example demonstrating the issue. Sometimes I get lazy, especially when I am betting that I am probably not the first to report the issue and when I can be reasonably certain that the issue is not in my own code. Then I don&#8217;t do a sample right away. When the response then is that my bug report is a Duplicate then my bet was correct. If not, then you get an email stating: This is a courtesy email regarding Bug ID# 13836932. Engineering has requested the following information in order to further investigate this issue: Please attach a sample app that demonstrates this issue to your bug report. At this point I kick into high gear and whip up a sample like the ones you can find in my Radar Samples Collection on GitHub. The point of these apps is to demonstrate to yourself that the bug still occurs in a fresh app that came nowhere near your other apps. That it is not a Heisenbug. And to demonstrate to an Apple engineer straight and to the point what the issue is about. At WWDC 2012 a senior Apple engineer told me that bug reports that he cannot quickly reproduce (with the help of a sample) will go to the bottom of the stack. The have little chance of being acted upon until many others report the same issue and provide better reproducibility. Long story short: File good bugs and for the ones that are not Duplicates make exceptionally simple and self-explanatory samples.]]></description>
				<content:encoded><![CDATA[<p>I scoured through the Cocoanetics blog for all the individual ZIP files of sample apps that I had made to accompany some of my Apple bug reports.</p>
<p><span id="more-8151"></span></p>
<div id="more-8151"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>I like to create a fresh project for each bug to demonstrate, so these sample apps don&#8217;t contain anything that I would not want to be public.</p>
<p>The samples can be categorized into: Open, Fixed and Not a Bug. For the ones that got fixed I also mention as of which iOS version.</p>
<p>These samples serve as a nice reminder how much more likely Apple engineers are fixing reported bugs if you can provide them a quick to grasp example demonstrating the issue.</p>
<p>Sometimes I get lazy, especially when I am betting that I am probably not the first to report the issue and when I can be reasonably certain that the issue is not in my own code. Then I don&#8217;t do a sample right away. When the response then is that my bug report is a Duplicate then my bet was correct.</p>
<p>If not, then you get an email stating:</p>
<blockquote><p>This is a courtesy email regarding Bug ID# 13836932.</p>
<p>Engineering has requested the following information in order to further investigate this issue:</p>
<p>Please attach a sample app that demonstrates this issue to your bug report.</p></blockquote>
<p>At this point I kick into high gear and whip up a sample like the ones you can find in my <a href="https://github.com/Cocoanetics/RadarSamples">Radar Samples Collection on GitHub</a>.</p>
<p>The point of these apps is to demonstrate to yourself that the bug still occurs in a fresh app that came nowhere near your other apps. That it is not a <a href="http://en.wikipedia.org/wiki/Heisenbug">Heisenbug</a>. And to demonstrate to an Apple engineer straight and to the point what the issue is about.</p>
<p>At WWDC 2012 a senior Apple engineer told me that bug reports that he cannot quickly reproduce (with the help of a sample) will go to the bottom of the stack. The have little chance of being acted upon until many others report the same issue and provide better reproducibility.</p>
<p>Long story short: File good bugs and for the ones that are not Duplicates make exceptionally simple and self-explanatory samples.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8151&amp;md5=1cb3a00438d710b6a7089fea225c512a" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/05/my-radar-samples-collection/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F05%2Fmy-radar-samples-collection%2F&amp;language=en_GB&amp;category=text&amp;title=My+Radar+Samples+Collection&amp;description=I+scoured+through+the+Cocoanetics+blog+for+all+the+individual+ZIP+files+of+sample+apps+that+I+had+made+to+accompany+some+of+my+Apple+bug+reports.+I+like+to...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>WWDC and Women</title>
		<link>http://www.cocoanetics.com/2013/05/wwdc-and-women/</link>
		<comments>http://www.cocoanetics.com/2013/05/wwdc-and-women/#comments</comments>
		<pubDate>Sun, 05 May 2013 10:03:41 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8106</guid>
		<description><![CDATA[When I attended my first WWDC in 2011 there was one gender-related observation I made which deeply troubled me: For the first time ever I had to queue in front of the male toilets. Up until this point I had been holding the belief that queues can only form in front of the female toilets. As with any belief your brain is filtering the world to find reasons and explanations. So my own working theory had been that this toilet queue conundrum must be  due to a male anatomical advantage, being able to &#8220;shoot from the hip&#8221;. Of course &#8211; given the same number of people &#8211; ladies would take longer, having to sit down, be more carefully washing their hands, powdering their noses and doing a bit of idle conversation. Men on the other hand would go pee like a SWAT team. In, Shoot the Fly, Out, done in 60 seconds. Washing our hands? Not necessary, we are engineers, we hit our targets. Not me, of course. I had never been aggressively domesticated by women to sit down for number 1. So I typically wash my hands because I don&#8217;t have the urge to prove to myself that my aim is flawless. Even though I like to believe it is. On this background I&#8217;m sure you understand my puzzlement. The second reason for it was that I never really worked in a male-dominated environment. Before I became an independent software engineer, I worked for some tech companies, but for the most part on my own, being the only Windows desktop support guy or being the only Telco Billing specialist on staff. Formative Years I have to admit that I was more of a lone wolf than a party animal. Not going out drinking also contributed to me staying out of male groups. The groups that you spend most of your time in while you are young must be contributing to your view of the world. My work places rarely shared Internet pictures of female car parking disasters. Male peers couldn&#8217;t infect me with misogyny, since I didn&#8217;t have anyone I could remotely consider to be my peer. If there was any &#8211; however brief &#8211; phase of female antipathy then only around the age of 20 when I was still a virgin, because I couldn&#8217;t &#8220;get any&#8221;. My hypotheses at that point in my life revolved around finding reasons why no woman seemed to be able to like or love me. That was also the time when those kind of &#8220;systems&#8221; started to pop up for &#8220;players&#8221; and how to &#8220;lay&#8221; any women. The core message being: you need to be arrogant and funny. If you treat women on a condescending manner then they would let you &#8220;bed&#8221; them. Doesn&#8217;t work yet? Well then you where not condescending enough! Admittedly I tried out a few tricks there and &#8220;scored some&#8221;. But I am not proud of that. Desperate, peer-less male engineers are the core audience for anybody promising a system for them to solve their loneliness problem. There is a whole industry catering to these suckers. Rise of the Internet While I was going to school to get my engineer&#8217;s degree we had a fair share of female would-be-developers attending, and I met a good number of women in most of the employments I had. So I never got a feeling that something must be wrong. I think my first actual contact with gender-related violence was somebody showing me an image he had gotten by email. Yes, at that time there were not websites for that kind of thing, let alone Twitter. It was a picture of a jumble of cars being parked totally chaotically. The subtitle read &#8220;Feminist Convention Parking&#8221;. It was not funny for me back then, but I found it curious that other men would find that laughter-inducing. Why are clichés funny? That was about the only kind of women disparagement I got in contact with. I was probably lucky enough in that matter, lonesome but untarnished. I grew up with the belief that women are equal to men in every aspect, accept that some might have dubious parallel parking skills. If anything then I was admiring women because I had heard that the male Y-chromosome was a mutation of the female X. While this mutation brought with it some advantages (like being able to pee standing up), apparently it also causes some problems. Bearers of the Y lack the full spectrum of emotion and communication. They live shorter. They cannot create life. I felt a little bit handicapped being a man, but learned to live with it. No point in being jealous of women, or being angry at them for having advantages over men. As the Internet grew larger and more prevalent communication and &#8220;social networking&#8221; [...]]]></description>
				<content:encoded><![CDATA[<p>When I attended my first <a title="WWDC 2011 Wrap-Up" href="http://www.cocoanetics.com/2011/06/wwdc-2011-wrap-up/">WWDC in 2011</a> there was one gender-related observation I made which deeply troubled me: For the first time ever I had to queue in front of the male toilets. Up until this point I had been holding the belief that queues can only form in front of the female toilets.</p>
<p>As with any belief your brain is filtering the world to find reasons and explanations. So my own working theory had been that this toilet queue conundrum must be  due to a male anatomical advantage, being able to &#8220;shoot from the hip&#8221;. Of course &#8211; given the same number of people &#8211; ladies would take longer, having to sit down, be more carefully washing their hands, powdering their noses and doing a bit of idle conversation. Men on the other hand would go pee like a SWAT team. In, Shoot the Fly, Out, done in 60 seconds. Washing our hands? Not necessary, we are engineers, we hit our targets.</p>
<p>Not me, of course. I had never been aggressively domesticated by women to sit down for number 1. So I typically wash my hands because I don&#8217;t have the urge to prove to myself that my aim is flawless. Even though I like to believe it is.</p>
<p><span id="more-8106"></span></p>
<div id="more-8106"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>On this background I&#8217;m sure you understand my puzzlement. The second reason for it was that I never really worked in a male-dominated environment. Before I became an independent software engineer, I worked for some tech companies, but for the most part on my own, being the only Windows desktop support guy or being the only Telco Billing specialist on staff.</p>
<h3>Formative Years</h3>
<p>I have to admit that I was more of a lone wolf than a party animal. Not going out drinking also contributed to me staying out of male groups. The groups that you spend most of your time in while you are young must be contributing to your view of the world.</p>
<p>My work places rarely shared Internet pictures of female car parking disasters. Male peers couldn&#8217;t infect me with misogyny, since I didn&#8217;t have anyone I could remotely consider to be my peer. If there was any &#8211; however brief &#8211; phase of female antipathy then only around the age of 20 when I was still a virgin, because I couldn&#8217;t &#8220;get any&#8221;. My hypotheses at that point in my life revolved around finding reasons why no woman seemed to be able to like or love me.</p>
<p>That was also the time when those kind of &#8220;systems&#8221; started to pop up for &#8220;players&#8221; and how to &#8220;lay&#8221; any women. The core message being: you need to be arrogant and funny. If you treat women on a condescending manner then they would let you &#8220;bed&#8221; them. Doesn&#8217;t work yet? Well then you where not condescending enough!</p>
<p>Admittedly I tried out a few tricks there and &#8220;scored some&#8221;. But I am not proud of that. Desperate, peer-less male engineers are the core audience for anybody promising a system for them to solve their loneliness problem. There is a whole industry catering to these suckers.</p>
<h3>Rise of the Internet</h3>
<p><img class=" wp-image-8111 alignright" style="margin-left: 10px; margin-bottom: 10px;" alt="Men at Work" src="http://i2.wp.com/www.cocoanetics.com/files/shutterstock_12151666.jpg?resize=302%2C450" data-recalc-dims="1" /></p>
<p>While I was going to school to get my engineer&#8217;s degree we had a fair share of female would-be-developers attending, and I met a good number of women in most of the employments I had. So I never got a feeling that something must be wrong. I think my first actual contact with gender-related violence was somebody showing me an image he had gotten by email. Yes, at that time there were not websites for that kind of thing, let alone Twitter.</p>
<p>It was a picture of a jumble of cars being parked totally chaotically. The subtitle read &#8220;Feminist Convention Parking&#8221;. It was not funny for me back then, but I found it curious that other men would find that laughter-inducing. Why are clichés funny?</p>
<p>That was about the only kind of women disparagement I got in contact with. I was probably lucky enough in that matter, lonesome but untarnished. I grew up with the belief that women are equal to men in every aspect, accept that some might have dubious parallel parking skills.</p>
<p>If anything then I was admiring women because I had heard that the male Y-chromosome was a mutation of the female X. While this mutation brought with it some advantages (like being able to pee standing up), apparently it also causes some problems. Bearers of the Y lack the full spectrum of emotion and communication. They live shorter. They cannot create life. I felt a little bit handicapped being a man, but learned to live with it.</p>
<p>No point in being jealous of women, or being angry at them for having advantages over men.</p>
<p>As the Internet grew larger and more prevalent communication and &#8220;social networking&#8221; exploded. When this happens information hierarchies &#8211; with a single entity disseminating information to all below it &#8211; tumble. Instead you have the information flow more akin to a network where some nodes are better connected then others, but in the end all nodes of the network get the information.</p>
<p>This also means that nowadays the light is shone on every tiny infraction. Anything good or bad is blogged about, dissected and opined ad nauseam. Misogynist are outed in a heart beat. This social network &#8211; which many call Web 2.0 &#8211; has become enough of a power to influence elections and to destroy companies that misstep.</p>
<h3>Programmer-ettes</h3>
<p>When I visited San Francisco in 2011 I learned that it seems to be hard for companies to hire iOS developers. Especially on iOS you were able to build an app, have Apple sell it for you and then call yourself &#8220;indie&#8221;. And the ones that didn&#8217;t want to be self-employed where gobbled up by companies like Apple. No available developers were to be found.</p>
<p>There are companies like Etsy who had the same problem with too few developers. The theory goes that if you want more developers on the market you need to &#8220;activate&#8221; the female population. If you had the same number of female developers as you had male then you would have double the number of candidates to hire.</p>
<p>Etsy managed to grow the number of female engineers by 500% (<a href="http://www.youtube.com/watch?v=w4LExVkv4Pw">video</a>) by establishing a summer scholarship program. They invited young women to San Francisco, paid for living expenses and contracted a company to do programming courses on location in the Etsy offices. The lion share of attendees of this program opted to stay at Etsy, with a much larger than usual portion of women.</p>
<p>I have yet to see any other strategy that even comes close to their rate of success.</p>
<p>One often cited reason for the lack of female developers is that they probably didn&#8217;t get enough encouragement as teenagers. I often hear people argument that if women wanted to they would be totally equal with men. There are no barriers to them being that any more. Those people fail to see that they themselves are part of the problem.</p>
<p>A lack of barriers does not equate to forward momentum. Men who think that there is no problem anyway won&#8217;t act. Why bother if your world is ok?</p>
<h3>WWDC Statistics</h3>
<p>For the third time in a row I am scouring Tweets for information on who got a WWDC ticket and who activated it. The people I find I put on my <a href="https://twitter.com/cocoanetics/WWDC2013Attendees">WWDC 2013 Attendees Twitter list</a>. At the time of this writing I have collected 324 list members, of which 5 are women. That is 1.5%. In my experience less then 10% of Apple developers use Twitter, but nevertheless I see no reason why there would be a gender difference in tweeting. I think my number should be in the general vicinity of the actual number.</p>
<p>Somebody asked an Apple employee at WWDC 2012 and got the, albeit inofficial, information of 3.5% female attendance. The <a href="https://twitter.com/wwdcgirls">WWDC Girls</a> Twitter account follows 216 women who stated that they attend WWDC. That would be about 4% of 5500 tickets.</p>
<p>Only Apple knows the real number but these data points suggest that the number of female WWDC attendees must be in the low single digit range. 3.5% sounds quite plausible to me.</p>
<p>Apple&#8217;s credo is &#8220;to treat everybody the same&#8221;, regardless of his/her parameters. But personally I fear that WWDC has turned into an unwilling act of gender inequality. There has been much discussion about if and how Apple should change WWDC to be &#8220;more fair&#8221;. I believe that this overlooks a larger issue related to gender discrimination.</p>
<p>I would venture a bet that most of the people able to afford travel, accommodation and entry to WWDC can do so because a company is footing the bill. There is some commercial interest in these people learning about the latest and greatest Apple technologies. Put differently I am sending somebody to a conference that costs me around $4000 per person if I believe that this person is able to add at least as much value over the coming year to my business.</p>
<p>But since last year getting tickets has turned into a crap shoot.</p>
<p>My fear is that companies are securing a ticket for their lead developers and development managers first to be certain that they can attend, because them getting the infos would be way more valuable than if they sent lower level engineers. A dev lead can spend more quality time with Apple engineers and talk to the app store review team on behalf of the company&#8217;s interests.</p>
<p>Because of this we probably will get even fewer female attendees. Of the few female engineers even fewer would be holding a sufficiently high up position to be sent to WWDC.</p>
<p><img class="alignnone size-full wp-image-8110" alt="Women and Tablet" src="http://i1.wp.com/www.cocoanetics.com/files/shutterstock_135164513.jpg?resize=500%2C332" data-recalc-dims="1" /></p>
<h3>WWDC Scholarship for Women</h3>
<p>Apple is literally giving away 150 tickets out of the 5500 to students. They have been doing that for many years now since it is in Apple&#8217;s best interest to get on a good footing with people while they are at school. In exchange for such a ticket students need to create and present an app that tells Apple something about themselves.</p>
<p>One could argue that this program is unfair to the rest of us hard working software developers. I need to scrape together about a month&#8217;s worth of earnings to be able to afford to travel to WWDC. And I think that I have done more for Apple &#8216;s business in my 4 full time years, than most of these students will do in their lifetime.</p>
<p>Even calling it a &#8220;Student Scholarship&#8221; is a misnomer. A true scholarship does not only pay for a ticket for an event but also takes other burdens off the student&#8217;s shoulders. What Etsy did is a true scholarship. What Apple does is just giving away free event tickets based in part on merit.</p>
<p>This is why I propose for Apple to adapt their &#8220;Scholarship&#8221; program to a be a true scholarship program. They would pay for living expenses and training for a larger group based on merit. And not just leading up to WWDC but throughout the year. Of course nowadays you have to do such a problem gender-neutrally, but Etsy&#8217;s experience has shown that you tend to get equal numbers of both sexes in such scholarship programs.</p>
<p>Apple then would be able to get first pick of the engineers coming out of the program and also they could give the student tickets to participants of their new scholarship program. The development public would see this as much &#8220;fairer&#8221; because you would have to learn programming for several months instead of being awarded a lucky break based on a simple quick app you whip up.</p>
<h3>F&#8217;in BSc</h3>
<p>The main hinderance that US-based companies have related to hiring developers is that they require their on candidates to have a Bachelor of Computer Science (BSc). If you don&#8217;t have an academic degree most companies wouldn&#8217;t even talk to you, regardless of your other qualifications. I couldn&#8217;t work for Apple even if I wanted to, because I don&#8217;t possess a BSc nor any other academic degree. Instead I have an engineers diploma which i got from the Austrian government after a 2-year school and 3 years of working. My &#8220;engineer&#8217;s degree&#8221; is civil and not academic.</p>
<p>So I could bring much to Apple, but they wouldn&#8217;t ever consider me because of my lack of BSc. Also I would probably not even get a US work visa since for these you also need a BSc. The US work visa situation is a horror story in its own right.</p>
<p>This reliance on academic degrees is especially pronounced in the US of A. Programming was an academic endeavor 30 years ago, but in times of the Internet everybody can learn to program, and program well. If I need a certain algorithm I can look it up on Wikipedia or maybe find it explained on Stack Overflow or better yet find it already implemented in Open Source software.</p>
<p>To participate in Apple&#8217;s above mentioned &#8220;Student Scholarship&#8221; you need to be enrolled as a student for a BSc degree.</p>
<p>Reliance on academic diplomas or a specific age range or school attendance is a form of discrimination of it&#8217;s own. I have no numbers, but it is my feeling that this BSc-addiction also blinds companies to many amazing female prospects who didn&#8217;t have the necessary funding to go to college.</p>
<p>Some people see this a left-over from a patriarchal age where male managers where judging people&#8217;s worthiness based on their academic degrees.</p>
<h3>Conclusion</h3>
<p>There are too few women attending WWDC, period. This is a symptom of a large problem that needs to be addressed im my humble opinion by removing the outmoded reliance on academic achievements and by sponsoring young people who are interested in learning to program.</p>
<p>A true scholarship program needs to go over several months, unburden students from living expenses and include real work and learning. Companies like Etsy have shown that such a program will get an even number of males and females with the final result of ending up with an overall greater number of developers, of which females form a much higher than usual percentage.</p>
<p>Apple should be a shining example and &#8220;sherlock&#8221; the scholarship idea. In the least they should stop calling a scholarship which is none. Making apps has ceased to be a science a couple of years ago, it became vocational. Companies who still think that they need academics for programmers are only hurting themselves.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8106&amp;md5=0b024caef948a6c63d54d39dfff4a01b" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/05/wwdc-and-women/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F05%2Fwwdc-and-women%2F&amp;language=en_GB&amp;category=text&amp;title=WWDC+and+Women&amp;description=When+I+attended+my+first+WWDC+in+2011%C2%A0there+was+one+gender-related+observation+I+made+which+deeply+troubled+me%3A+For+the+first+time+ever+I+had+to+queue+in+front+of...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>WWDC Ticket Aftermath</title>
		<link>http://www.cocoanetics.com/2013/04/wwdc-ticket-aftermath/</link>
		<comments>http://www.cocoanetics.com/2013/04/wwdc-ticket-aftermath/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 20:53:59 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8068</guid>
		<description><![CDATA[The results the world had with Apple&#8217;s new plan where mixed. By a rough estimate over 20,000 developers where trying to storm the bastille at exactly 10 am PDT. But only a fraction was successful in winning the race, many just found a system in shambles. Theoretically the idea was wonderful: announce the time that ticket would go on sale the day before so that everybody can get ready, ask their bosses for final approval and be in front of an Internet-connected Mac with Credit Card in hand &#8230; I had made my personal bet at around half the time it took for sell-out to occur in 2013, around an hour or so. Maybe 30 minutes if Google IO was an indication. But never would I have believed if anybody told me that it took only slightly over 2 minutes for the Sold Out banner to appear. WWDC 2013 Ticket Flow Chart From the messages my colleagues around the globe has posted on Twitter and App.net I pieced together this flow chart that shows all the weak points in Apple&#8217;s plan. &#160; All the red post-its are areas where problems were encountered that we know about. I was trying to get two tickets, one for myself, one for my employee who has never been to San Francisco nor to WWDC. Since there was this rule that each Apple ID would have to buy its own ticket I didn&#8217;t dare to edit the quantity box which I noticed with surprise when I made it into the member center. Would I have gotten 2 if I had had the guts to turn the 1 into a 2? We shall never know. However, each team member must sign in with their own Apple ID and purchase their own ticket. In the meantime my colleague didn&#8217;t see the Ticket button on the portal and when he finally saw it, the LDAP server had already died from the DDOS attach comprised of tens of thousands of simultaneous login attempts of desperate developers. So he was stuck in Login Limbo before he could have entered Member Center. Logged In or Not Logged In Later it was revealed that Apple did have some sort of cookie lottery system which assigned tickets to people already on the portal. With this number all you needed to achieve is to log into the member center so that Apple would have had the information that your e-mail address has assigned a certain ticket number. Some people reported that their credit card company promptly barred their card as soon as they tried to pay for the ticket in their Apple Online Store shopping card. Only very few got lucky and were able to get to the orange bliss zone. But as mentioned before, if you had gotten as far as being logged in and having a low enough number in the queue then you would get a second chance. LUCK 2.0 if you will. Because of these people Apple would actually pick up the phone and inform them that there was a ticket reserved for them. To which most responded happily &#8220;Hell Yeah!&#8221; A Big Bag of Hurt Which leaves tens of thousands of developers who failed at any of the shown red post-its. I count myself amongst the LUCK 1.0 crowd, for which I am truly thankful. I had pleaded and begged Apple for a second ticket for my friend, my colleague, my best man&#8230; but as the weekend is nigh I am beginning to lose hope.  Oh well, there&#8217;ll be plenty other events for him to attend: #AltWWDC and CocoaConf being two first ideas. PS: If you lucked out, but now cannot attend WWDC for some reason &#8230; email me and I can try to get your ticket transferred to my employee &#8211; of course in exchange for the money you paid &#8211; provided Apple makes an exception to the non-transferable rule.]]></description>
				<content:encoded><![CDATA[<p>The results the world had with <a title="Apple announces WWDC 2013" href="http://www.cocoanetics.com/2013/04/apple-announces-wwdc-2013/">Apple&#8217;s new plan</a> where mixed. By a rough estimate over 20,000 developers where trying to storm the bastille at exactly 10 am PDT. But only a fraction was successful in winning the race, many just found a system in shambles.</p>
<p><span id="more-8068"></span></p>
<div id="more-8068"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Theoretically the idea was wonderful: announce the time that ticket would go on sale the day before so that everybody can get ready, ask their bosses for final approval and be in front of an Internet-connected Mac with Credit Card in hand &#8230;</p>
<p>I had made my personal bet at around half the time it took for sell-out to occur in 2013, around an hour or so. Maybe 30 minutes if Google IO was an indication. But never would I have believed if anybody told me that it took only slightly over 2 minutes for the Sold Out banner to appear.</p>
<h3>WWDC 2013 Ticket Flow Chart</h3>
<p>From the messages my colleagues around the globe has posted on Twitter and App.net I pieced together this flow chart that shows all the weak points in Apple&#8217;s plan.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/WWDC_2013_Ticket_Flow.jpg"><img class="alignnone  wp-image-8069" alt="WWDC 2013 Ticket Flow" src="http://i2.wp.com/www.cocoanetics.com/files/WWDC_2013_Ticket_Flow.jpg?resize=577%2C610" data-recalc-dims="1" /></a></p>
<p>&nbsp;</p>
<p>All the red post-its are areas where problems were encountered that we know about.</p>
<p>I was trying to get two tickets, one for myself, one for my employee who has never been to San Francisco nor to WWDC. Since there was this rule that each Apple ID would have to buy its own ticket I didn&#8217;t dare to edit the quantity box which I noticed with surprise when I made it into the member center. Would I have gotten 2 if I had had the guts to turn the 1 into a 2? We shall never know.</p>
<blockquote><p>However, each team member must sign in with their own Apple ID and purchase their own ticket.</p></blockquote>
<p>In the meantime my colleague didn&#8217;t see the Ticket button on the portal and when he finally saw it, the LDAP server had already died from the DDOS attach comprised of tens of thousands of simultaneous login attempts of desperate developers. So he was stuck in Login Limbo before he could have entered Member Center.</p>
<h3>Logged In or Not Logged In</h3>
<p>Later it was revealed that Apple did have some sort of cookie lottery system which assigned tickets to people already on the portal. With this number all you needed to achieve is to log into the member center so that Apple would have had the information that your e-mail address has assigned a certain ticket number.</p>
<p>Some people reported that their credit card company promptly barred their card as soon as they tried to pay for the ticket in their Apple Online Store shopping card. Only very few got lucky and were able to get to the orange bliss zone.</p>
<p>But as mentioned before, if you had gotten as far as being logged in and having a low enough number in the queue then you would get a second chance. LUCK 2.0 if you will. Because of these people Apple would actually pick up the phone and inform them that there was a ticket reserved for them. To which most responded happily <em>&#8220;Hell Yeah!&#8221;</em></p>
<h3>A Big Bag of Hurt</h3>
<p>Which leaves tens of thousands of developers who failed at any of the shown red post-its.</p>
<p>I count myself amongst the LUCK 1.0 crowd, for which I am truly thankful. I had pleaded and begged Apple for a second ticket for my friend, my colleague, my best man&#8230; but as the weekend is nigh I am beginning to lose hope.  Oh well, there&#8217;ll be plenty other events for him to attend: <a href="http://altwwdc.com/">#AltWWDC</a> and <a href="http://cocoaconf.com/">CocoaConf</a> being two first ideas.</p>
<p>PS: If you lucked out, but now cannot attend WWDC for some reason &#8230; <a href="mailto:oliver@cocoanetics.com">email me</a> and I can try to get your ticket transferred to my employee &#8211; of course in exchange for the money you paid &#8211; provided Apple makes an exception to the <a href="https://developer.apple.com/wwdc/more/#attendance">non-transferable rule</a>.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8068&amp;md5=e83205636774460ad1a3c1bc6ab35105" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/04/wwdc-ticket-aftermath/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F04%2Fwwdc-ticket-aftermath%2F&amp;language=en_GB&amp;category=text&amp;title=WWDC+Ticket+Aftermath&amp;description=The+results+the+world+had+with+Apple%26%238217%3Bs+new+plan+where+mixed.+By+a+rough+estimate+over+20%2C000+developers+where+trying+to+storm+the+bastille+at+exactly+10+am+PDT.+But...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Apple announces WWDC 2013</title>
		<link>http://www.cocoanetics.com/2013/04/apple-announces-wwdc-2013/</link>
		<comments>http://www.cocoanetics.com/2013/04/apple-announces-wwdc-2013/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 15:29:07 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8047</guid>
		<description><![CDATA[Apple announced WWDC 2013 on the day after the quarterly earnings conference call with analysts. The gist of which has been generally interpreted as &#8220;loosing steam&#8221;. Tim Cook seemed to imply that Apple would not be releasing any significant hardware products before the fourth quarter of 2013. This was further underlined by Apple giving guidance that sales would be slow for this current quarter. Last year WWDC sold out in under two hours, much to the chagrin of many developers from the west coast of the USA because it was all other before many of them could get out of bed. Much had been speculated how Apple would counteract an even faster sell out of tickets for WWDC 2013. One unexpected move had been Apple inviting a few select companies to send people to key Apple subsidiaries for design and tech reviews of their most important apps. They did that instead of doing a road show, which had served as a &#8220;WWDC Mini&#8221; for many people. Those review sessions arguably provided a higher value for those lucky chosen ones. Instead of having to sit through warmed up evangelizing talks you got the really valuable meat of Apple events: interacting with Apple employees. The fear of missing out was enough for many people paying good money or using some free service to give them a slight advantage in the race for tickets. Or at least have the relaxing feeling of knowing that you will know when there is something to know. For me Pingdom wins this year&#8217;s price. For the low price tag of FREE their SMS was the very first thing that told me that the WWDC page had changed. I was monitoring for the presence of text that would not have made any sense any more this year. Nobody would have guessed that Apple would change their approach. Instead of making tickets available out of the blue they changed their routine. Apple pre-announced the announcement. Tickets go on sale worldwide on April 25 at 10 a.m. PDT. By changing their routine they immediately deflated the importance of all these monitoring activities and services. No point in them whatsoever if you know the exact date in advance. In 2012 Apple had clearly underestimated the run on the tickets, so this time they moved the starting time to much later, at a comfortable 10 am. So you can get to the office, grab some coffee, set up your Mac and clarify which credit card to use without even breaking a sweat. For us Europeans it is only slightly more inconvenient being at 7 pm. I take that time any time. We won&#8217;t lose any sleep over it either. Apple graciously confirmed the event dates that we had been suspecting since February from scouring the Moscone West event calendar. Apple can only ever go with a week where all 3 levels of this venues are available. There is simply no other place in San Francisco (or close to Cupertino) that can take on over 5500 people. Which is why I had already reserved a conveniently located Hotel in the vicinity. I&#8217;m glad that I did and I didn&#8217;t have to change or cancel my reservation. Scalpers That Are Any company selling &#8220;hot tickets&#8221; has a problem with scalpers. The first step in Apple&#8217;s ultimate sherlocking of these had been to limit sales to 1 for individuals and 5 for companies. But in 2012 you still got ticket codes which you could redeem on any Apple ID&#8230; or pass them on. Also there had been quite a few problems with an algorithm that Apple had devised to find people who where buying too many tickets. Many celebrity developers found their purchased tickets revoked because they had used the same credit card for multiple purchases. After much swearing Apple reinstated many such mistankenly disenfranchised. This year Apple is even more strict: Ticket purchases are limited to one (1) per person and five (5) per organization. The same credit card may be used up to five (5) times to purchase all of the tickets for your organization. However, each team member must sign in with their own Apple ID and purchase their own ticket. Not only does that away with transferable ticket codes, but it also eliminates an unfair advantage of owners of company developer accounts. As company you could simply type 5 in the quantity box and check out with one payment. Then you could take your time to distribute the ticket codes to any 5 of your team members. Under the new rules a company can still buy 5 tickets on the same credit card but you can only buy one at a time. Also each Apple ID will immediately be tied to the ticket without any possibility of transfer. Well, almost no [...]]]></description>
				<content:encoded><![CDATA[<p>Apple announced WWDC 2013 on the day after the quarterly earnings conference call with analysts. The gist of which has been generally interpreted as &#8220;loosing steam&#8221;. Tim Cook seemed to imply that Apple would not be releasing any significant hardware products before the fourth quarter of 2013. This was further underlined by Apple giving guidance that sales would be slow for this current quarter.</p>
<p>Last year WWDC sold out in under two hours, much to the chagrin of many developers from the west coast of the USA because it was all other before many of them could get out of bed.</p>
<p>Much had been speculated how Apple would counteract an even faster sell out of tickets for WWDC 2013. One unexpected move had been Apple inviting a few select companies to send people to key Apple subsidiaries for design and tech reviews of their most important apps. They did that instead of doing a road show, which had served as a &#8220;WWDC Mini&#8221; for many people.</p>
<p><span id="more-8047"></span></p>
<div id="more-8047"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Those review sessions arguably provided a higher value for those lucky chosen ones. Instead of having to sit through warmed up evangelizing talks you got the really valuable meat of Apple events: interacting with Apple employees.</p>
<p>The fear of missing out was enough for many people <a title="Professional WWDC Ticket Alert" href="http://www.cocoanetics.com/2013/04/professional-wwdc-ticket-alert/">paying good money or using some free service</a> to give them a slight advantage in the race for tickets. Or at least have the relaxing feeling of knowing that you will know when there is something to know.</p>
<p>For me <a href="http://www.pingdom.com">Pingdom</a> wins this year&#8217;s price. For the low price tag of FREE their SMS was the very first thing that told me that the WWDC page had changed. I was monitoring for the presence of text that would not have made any sense any more this year.</p>
<p>Nobody would have guessed that Apple would change their approach. Instead of making tickets available out of the blue they changed their routine. Apple pre-announced the announcement.</p>
<blockquote><p>Tickets go on sale worldwide on April 25 at 10 a.m. PDT.</p></blockquote>
<p>By changing their routine they immediately deflated the importance of all these monitoring activities and services. No point in them whatsoever if you know the exact date in advance.</p>
<p>In 2012 Apple had clearly underestimated the run on the tickets, so this time they moved the starting time to much later, at a comfortable 10 am. So you can get to the office, grab some coffee, set up your Mac and clarify which credit card to use without even breaking a sweat.</p>
<p>For us Europeans it is only slightly more inconvenient being at 7 pm. I take that time any time. We won&#8217;t lose any sleep over it either.</p>
<p>Apple graciously confirmed the event dates that we had been suspecting since February from scouring the <a href="http://www.moscone.com/site/do/event/list">Moscone West event calendar</a>. Apple can only ever go with a week where all 3 levels of this venues are available. There is simply no other place in San Francisco (or close to Cupertino) that can take on over 5500 people.</p>
<p>Which is why I had already reserved a conveniently located Hotel in the vicinity. I&#8217;m glad that I did and I didn&#8217;t have to change or cancel my reservation.</p>
<h3>Scalpers That Are</h3>
<p>Any company selling &#8220;hot tickets&#8221; has a problem with scalpers. The first step in Apple&#8217;s ultimate sherlocking of these had been to limit sales to 1 for individuals and 5 for companies. But in 2012 you still got ticket codes which you could redeem on any Apple ID&#8230; or pass them on.</p>
<p>Also there had been quite a few problems with an algorithm that Apple had devised to find people who where buying too many tickets. Many celebrity developers found their purchased tickets revoked because they had used the same credit card for multiple purchases. After much swearing Apple reinstated many such mistankenly disenfranchised.</p>
<p>This year Apple is <a href="https://developer.apple.com/wwdc/tickets/">even more strict</a>:</p>
<blockquote><p>Ticket purchases are limited to one (1) per person and five (5) per organization. The same credit card may be used up to five (5) times to purchase all of the tickets for your organization. However, each team member <span style="background-color: yellow;">must sign in with their own Apple ID and purchase their own ticket</span>.</p></blockquote>
<p>Not only does that away with transferable ticket codes, but it also eliminates an unfair advantage of owners of company developer accounts. As company you could simply type 5 in the quantity box and check out with one payment. Then you could take your time to distribute the ticket codes to any 5 of your team members.</p>
<p>Under the new rules a company can still buy 5 tickets on the same credit card but you can only buy one at a time. Also each Apple ID will immediately be tied to the ticket without any possibility of transfer.</p>
<p>Well, <em>almost</em> no possibility:</p>
<blockquote><p>WWDC tickets are non-transferable. Tickets (including activation codes) may not be sold, resold, bartered, auctioned, or transferred in any way. Apple reserves the right to cancel your ticket or deactivate your activation code. As an exception to the foregoing, requests to transfer tickets (including activation codes) among team members may be submitted to Apple for consideration at <a href="mailto:wwdc@apple.com">wwdc@apple.com</a>. Apple reserves the right to reject any transfer requests. Any other transfers will render the ticket null and void without any responsibility to Apple.</p></blockquote>
<p>We can just hope that credit card companies won&#8217;t block too many accounts for suspected fraudulent activity, being spammed with lots of same value purchases in short time.</p>
<h3>Fraudsters That Are Not</h3>
<p>Speaking of short time &#8230; in theory a company buying 5 tickets in 5 sessions and 5 individuals buying 1 ticket each would take the same amount of time. This would serve as a great equalizer between companies and individual developers.</p>
<p>But you can safely bet that in many companies 5 people will log in at the same time and carry out their purchase in parallel. If all of them use the credit card belonging to their boss this too might raise some red flags at the CC company. How can the holder of the card be spending so much in so little time?</p>
<p>Hopefully those credit fraud agents will be lenient, Apple is one of their best clients after all.</p>
<p>The other problem Apple might be facing is that with the availability time known beforehand they need an amazing backend to handle thousands of sessions at the same time. If you let the whole world storm in at the same minute that&#8217;s a Denial-of-Service scenario par excellence.</p>
<p>Apple&#8217;s bit weakness to date has been that their web activities were relying on outdated technologies that are impossible to scale. Handling this year&#8217;s ticket sales without hiccup would serve as proof that Apple has finally begun to be serious about the Internet.</p>
<p>Let&#8217;s be frank: With troves of developers jumping the iCloud ship they could really do with a win. I have a feeling that they are engineering for one.</p>
<h3>Might Skip This Year</h3>
<p>It had almost turned into a running gag last year when people tweeted that they would be in San Francisco without actually being in attendance of WWDC 2012. If you are there for the companionship and community, there are a plethora of events fighting over the title &#8220;Best Alternative to WWDC&#8221;.</p>
<p>But this year I am getting the vibes from many well-known developers like fellow Austrian Peter Steinberger that they are going to skip WWDC altogether. Not just the event itself, they won&#8217;t even come to San Francisco.</p>
<p>The most often heard reason for not attending is <em>&#8220;I&#8217;ll just watch the videos afterwards&#8221;</em>. Apple has been breaking their own previous record every year recently how quickly they will make the videos available. This year is no exception: they are so confident in their preparation and hardware that they will make the videos available already <a href="https://developer.apple.com/wwdc/more/">during</a> WWDC:</p>
<blockquote><p>Can’t make it to WWDC?  We&#8217;ll be posting videos of all our sessions during the conference, so Registered Apple Developers can take advantage of great WWDC content.</p></blockquote>
<p>I remember a few years ago you had to shell out a couple of hundred dollars to get the videos. Last year you had to wait 1 week. This year you have to almost not wait at all. Though I would be really surprised if Apple would switch to streaming the tracks live. No, they will probably be using their own <a href="https://itunes.apple.com/at/app/compressor/id424390742?l=en&amp;mt=12">Compressor 4</a> running on a massive cluster of Mac Pros.</p>
<p>This move effectively eliminates people who would have come &#8220;only for the talks&#8221;.</p>
<h3>A Couple More Things</h3>
<p>I am pretty sure that the psychedelic square logo with roman numerals hints at some exciting announcements and new technologies to be previewed at WWDC. Stuff that will be shipped in the fall, but requires developers building specific apps for. Stuff that &#8211; because it is a new kind of platform &#8211; will require longer lead times for people to come up with ideas for useful apps.</p>
<p>Some people see the Apple-typical rounded rect that could only be the symbol for a watch face. Roman numerals like they had on classic watches? iWatch!</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/BIoZGtSCAAEpfSg.jpg-large.jpeg"><img class="alignnone size-full wp-image-8059" alt="iWatch" src="http://i2.wp.com/www.cocoanetics.com/files/BIoZGtSCAAEpfSg.jpg-large.jpeg?resize=500%2C311" data-recalc-dims="1" /></a></p>
<p><smaller>iWatch Mockup by Joel Bernstein</smaller></p>
<p>Others see a tube-like TV, although the aspect ratio would be off. But maybe Apple&#8217;s &#8220;hobby&#8221; AppleTV hockey puck gets an order of magnitude more OOMPH? Can you saw &#8220;Ouya Killer&#8221;? If only there was an SDK that would let us write apps for the AppleTV &#8230;</p>
<p>And then there are iOS 7 and a new OS X looming with the former having already been <a href="http://arstechnica.com/apple/2013/01/references-to-next-iphone-ios-7-popping-up-in-server-logs/">spotted in server logs</a>, but the latter cat not yet been even hinted at.</p>
<p>Granted you will get these infos also on the developer portal and from the videos. But I want to be amongst those who were in the room when these next quantum leaps are being unveiled.</p>
<h3>Conclusion</h3>
<p>Apple still knows how to surprise and delight us developers.</p>
<p>They are combining activities that aim to reduce the circle of people who &#8220;need&#8221; to attend WWDC with sweeping policy changes that insure a fair chance at at ticket for everybody.</p>
<p>In the least this is proof that Apple learns from their errors and keeps finding engineering and organizational solutions that keep improving the experience for us developers.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8047&amp;md5=8716ea8ef34b2b8aa2671177197a55f9" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/04/apple-announces-wwdc-2013/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F04%2Fapple-announces-wwdc-2013%2F&amp;language=en_GB&amp;category=text&amp;title=Apple+announces+WWDC+2013&amp;description=Apple+announced+WWDC+2013+on+the+day+after+the+quarterly+earnings+conference+call+with+analysts.+The+gist+of+which+has+been+generally+interpreted+as+%26%238220%3Bloosing+steam%26%238221%3B.+Tim+Cook+seemed+to...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Report Downloading Update</title>
		<link>http://www.cocoanetics.com/2013/04/report-downloading-update/</link>
		<comments>http://www.cocoanetics.com/2013/04/report-downloading-update/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 13:07:34 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8010</guid>
		<description><![CDATA[Fascinated by the Cingleton talk given by Michael Jurewitz (full video) on pricing elasticity I decided on a new project for my Lab Friday. Those are the 20% time where we try to explore something else than the nitty gritty we are working on all the other time. It was in May four years ago that Apple had rejected my original MyAppSales app for scraping Apple&#8217;s site to get sales data. Shortly thereafter I started a Petition for Apple to give us an official API for downloading sales data. The bug report rdar://6807195 is still in status &#8220;Open&#8221; ever since April 20th 2009, its the oldest open Radar I have in my list. Apple finally caved (a little) when they released the Autoingest.java tool for downloading some forms of reports in early 2012. Which I promptly decompiled and rewrote in a sensible language: Objective-C. Ever since my first reverse implementation of Autoingest in ObjC this project was available Open Source on GitHub, offering two targets: one Mac command line utility that does exactly the same things as its Java brother, and a static library that you can add to your own custom solution. The usefulness of Autoingest was quite limited initially because it only offered Daily and Weekly sales reports and some kind of &#8220;Opt-In&#8221; report, no idea what this is for. Until March 6th, 2013. Getting back to my idea for a Friday Lab Project &#8230; I want to analyze my sales data for how elastic demand is for the various prices that I haven been charging for my apps. To get the sales data I fired up my Autoingest.objc and much to my surprise still found it working without problems. For some reason I googled for the tool&#8217;s name and found the iTunes Connect Sales and Trends Guide: App Store which was updated to version 8 last month. The revision history mentions (emphasis mine) Updates for Sales and Trends redesign. Monthly summary reports for the previous 12 months are now available. Yearly summary reports for all previous years can be downloaded. Graph and sales data can be filtered by free or paid content. Version 7 of this document was mentioned as having a publication date of November 6th, 2012. In addition these mentioned items I also found mention of Newsstand reports which are available in multiple detail levels as well. Thus my Friday project mutated into an Updating session for DTITCReportDownloader. While being at it I revamped many things while adding support for the new parameters. If you build the command line utility you can download the most recent available daily sales report like this. Omit the rightmost date parameter for the latest or specify a yyyyMMdd date for a specific date. ./Autoingest you@domain.com secretpassword 81234567 Sales Daily Summary I also added an awesome looping capability that the Java version doesn&#8217;t have. You can have it download all available reports of one type, for example all Yearly reports: ./Autoingest you@domain.com secretpassword 81234567 Sales Yearly Summary ALL Note that Sales reports only offer the Summary resolution level. Username and password are your Apple ID and the number beginning with 8 is your vendor ID which you can find on the portal. Autoingest puts the downloaded reports in the current folder, if a report file of a certain name already exists it will be skipped. Conclusion I believe that we iOS and Mac developers should be using Objective-C for our tools and this is why I keep updating this component.  I am now looking for other developers (you?) who are willing to give this tool a try, be it on the command line or via static library. I am specifically in need of feedback related to the Opt-In and Newsstand reports as I don&#8217;t have data for these myself. You don&#8217;t have to share any sales data with me, just test it and maybe suggest fixes. And I would be excited if you also find this useful. The next step after now having taken care of the source of report data will be to load them into a CoreData DB and do some analyzing magic. More on that later.]]></description>
				<content:encoded><![CDATA[<p>Fascinated by the Cingleton talk given by Michael Jurewitz (<a href="http://vimeo.com/63161309">full video</a>) on pricing elasticity I decided on a new project for my Lab Friday. Those are the 20% time where we try to explore something else than the nitty gritty we are working on all the other time.</p>
<p>It was in May four years ago that Apple <a href="http://www.cocoanetics.com/2009/03/apple-rejects-incredibly-useful-itunes-report-app/">had rejected my original MyAppSales app</a> for scraping Apple&#8217;s site to get sales data. Shortly thereafter I started a <a href="http://www.cocoanetics.com/2009/04/petition-itunes-sales-report-api/">Petition for Apple to give us an official API</a> for downloading sales data. The bug report <a href="http://openradar.appspot.com/radar?id=51416">rdar://6807195</a> is still in status &#8220;Open&#8221; ever since April 20th 2009, its the oldest open Radar I have in my list.</p>
<p>Apple finally caved (a little) when they released the <strong>Autoingest.java</strong> tool for downloading some forms of reports in early 2012. Which I promptly decompiled and <a href="http://www.cocoanetics.com/2012/02/autoingest-java-in-objective-c/">rewrote</a> in a sensible language: Objective-C.</p>
<p><span id="more-8010"></span></p>
<div id="more-8010"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Ever since my first reverse implementation of Autoingest in ObjC this project was <a href="https://github.com/Cocoanetics/DTITCReportDownloader">available Open Source on GitHub</a>, offering two targets: one Mac command line utility that does exactly the same things as its Java brother, and a static library that you can add to your own custom solution.</p>
<p>The usefulness of Autoingest was quite limited initially because it only offered Daily and Weekly sales reports and some kind of &#8220;Opt-In&#8221; report, no idea what this is for. Until <a href="http://www.apple.com/itunesnews/docs/AppStoreReportingInstructions.pdf">March 6th, 2013</a>.</p>
<p>Getting back to my idea for a Friday Lab Project &#8230; I want to analyze my sales data for how elastic demand is for the various prices that I haven been charging for my apps. To get the sales data I fired up my <strong>Autoingest.objc</strong> and much to my surprise still found it working without problems.</p>
<p>For some reason I googled for the tool&#8217;s name and found the <a href="http://www.apple.com/itunesnews/docs/AppStoreReportingInstructions.pdf">iTunes Connect Sales and Trends Guide: App Store</a> which was updated to version 8 last month. The revision history mentions (emphasis mine)</p>
<blockquote><p>Updates for Sales and Trends redesign. <strong>Monthly summary reports for the previous 12 months</strong> are now available. <strong>Yearly summary reports for all previous years</strong> can be downloaded. Graph and sales data can be filtered by free or paid content.</p></blockquote>
<p>Version 7 of this document was mentioned as having a publication date of November 6th, 2012.</p>
<p>In addition these mentioned items I also found mention of <strong>Newsstand reports</strong> which are available in multiple detail levels as well.</p>
<p>Thus my Friday project mutated into an Updating session for <strong>DTITCReportDownloader</strong>. While being at it I revamped many things while adding support for the new parameters.</p>
<p>If you build the command line utility you can download the most recent available daily sales report like this. Omit the rightmost date parameter for the latest or specify a yyyyMMdd date for a specific date.</p>

<div class="wp_codebox"><table><tr id="p80103"><td class="code" id="p8010code3"><pre class="sh" style="font-family:monospace;">./Autoingest you@domain.com secretpassword 81234567 Sales Daily Summary</pre></td></tr></table></div>

<p>I also added an awesome looping capability that the Java version doesn&#8217;t have. You can have it download all available reports of one type, for example all Yearly reports:</p>

<div class="wp_codebox"><table><tr id="p80104"><td class="code" id="p8010code4"><pre class="sh" style="font-family:monospace;">./Autoingest you@domain.com secretpassword 81234567 Sales Yearly Summary ALL</pre></td></tr></table></div>

<p>Note that Sales reports only offer the Summary resolution level. Username and password are your Apple ID and the number beginning with 8 is your vendor ID which you can find on the portal.</p>
<p>Autoingest puts the downloaded reports in the current folder, if a report file of a certain name already exists it will be skipped.</p>
<h3>Conclusion</h3>
<p>I believe that we iOS and Mac developers should be using Objective-C for our tools and this is why I keep updating this component.  I am now looking for other developers (you?) who are willing to give this tool a try, be it on the command line or via static library.</p>
<p>I am specifically in need of feedback related to the Opt-In and Newsstand reports as I don&#8217;t have data for these myself. You don&#8217;t have to share any sales data with me, just test it and maybe suggest fixes. And I would be excited if you also find this useful.</p>
<p>The next step after now having taken care of the source of report data will be to load them into a CoreData DB and do some analyzing magic. More on that later.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8010&amp;md5=3154c7afb3ab6819e71cb90db454b662" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/04/report-downloading-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F04%2Freport-downloading-update%2F&amp;language=en_GB&amp;category=text&amp;title=Report+Downloading+Update&amp;description=Fascinated+by+the+Cingleton+talk+given+by+Michael+Jurewitz+%28full+video%29+on+pricing+elasticity+I+decided+on+a+new+project+for+my+Lab+Friday.+Those+are+the+20%25+time+where...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Professional WWDC Ticket Alert</title>
		<link>http://www.cocoanetics.com/2013/04/professional-wwdc-ticket-alert/</link>
		<comments>http://www.cocoanetics.com/2013/04/professional-wwdc-ticket-alert/#comments</comments>
		<pubDate>Sat, 06 Apr 2013 08:12:51 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7986</guid>
		<description><![CDATA[You want to be first in line when WWDC 2013 finally go on sale? That should happen any day now. Now there are many ways how to get informed. Homebrew or professional, your choice. Last year I relied on WWDC Alerts which promised to send SMS as soon as their ticket detection script saw that tickets have gone on sale. I did get the SMS, but about an hour late. Thankfully my friends on Twitter informed me in time to grab one of them. Besides their reported unreliability the makers of WWDC Alerts so far have not responded to my inquiry if they are planning to track this years WWDC sales as well. Then there is a new professionally organized alert service which I like the most. If you are like me, then &#8220;all of the above&#8221;. Being engineers many of my colleagues have created monitoring scripts that scrape the WWDC page and look for changes. I leave it as an exercise for the reader to find these on GitHub or build their own. I for one prefer services that have done the work for me. In the case of Pingdom they have a vested professional interest in providing a reliable alert service. Pingdom The traditional monitoring method method is to set up an alert on Pingdom which you can do for free with the normal account. I set mine to check on https://developer.apple.com/wwdc every minute and look for the string &#8220;WWDC 2012. June 11-15&#8243;. I have a strong feeling that this text will disappear from this page once Apple updates it for the 2013 WWDC. &#160; As soon as these conditions are no longer met I should get notified on on the selected channels. Checking my settings also reminded me that I hadn&#8217;t connected my iOS device via the Pingdom iOS app. I also set up my contact such that Pingdom will also tweet the alert via @Cocoanetics. So you will be informed if you follow me on Twitter automatically. My second thought was to employ ChangeDetection.com for monitoring changes. But I missed the fact that they only scrape the configured sites once per day. So most likely tickets will be sold out when you get their e-mail alert. WWDC Blast All those options pale in comparison with the professionalism that can be had from WWDC Blast. Any kind of monitoring system&#8217;s effectiveness depends on you noticing any alert notification. And this is their flaw. If you are on the wrong coast of the USA or someplace else on our geoid that we call home, then email, push notifications or SMS won&#8217;t cut it. What you really want is a friend who constantly refreshes the WWDC page and calls you the second there is action there. WWDC Blast is exactly that. You can sign up for free to get in a queue that at them time of this writing was around 600 people. These guys are not leaving anything to chance. They employ SMS and voice gateway Twilio to blast out thousands of SMS in parallel. And such fidelity costs a bit of money. Which is why the are offering two kinds of premium service as well: you can jump ahead of the queue, $1 per 10 spots you can get a phone call We Europeans like to sleep at night, and I know from my experience as On-Call support person for an Austrian Cellular Network provider that you can easily sleep through hundreds of SMS. What you really want is this wakeup call. &#160; As you can see I jumped the queue and I also enabled SMS and Voice. Sparing no expense! Now the magic part when having an iPhone running iOS 6 or higher is called &#8220;Do Not Disturb&#8221; (DND). The WWDC Blast staff has published a guide how to download a vCard with all the phone numbers they provisioned for easy addition as a favorite contact. Then the faithful phone call will be able to ring your phone sitting on your bedside table even late at night. Or if you didn&#8217;t add it to favorites then it will break through DND by calling you multiple times. Just like any normal wake-up call. At the time of this writing the vCard&#8217;s phone numbers where missing the international &#8220;+&#8221; prefix making them useless outside the USA. But it took me a only a minute to add that. In addition to that you can add the main e-mail address used by WWDC Blast to your list of VIPs. So your iPhone will tone an additional chime when the notification email arrives. Or A Friend Calls You &#8230; I have shown how to easily set up an alert with Pingdom or how to get a DND-breaking phone call from WWDC Blast. If neither is good enough for you &#8230; Announcing [...]]]></description>
				<content:encoded><![CDATA[<p>You want to be first in line when WWDC 2013 finally go on sale? That should happen any day now. Now there are many ways how to get informed. Homebrew or professional, your choice.</p>
<p>Last year I relied on <a href="http://www.wwdcalerts.com">WWDC Alerts</a> which promised to send SMS as soon as their ticket detection script saw that tickets have gone on sale. I did get the SMS, but about an hour late. Thankfully my friends on Twitter informed me in time to grab one of them. Besides their reported unreliability the makers of WWDC Alerts so far have not responded to my inquiry if they are planning to track this years WWDC sales as well.</p>
<p>Then there is a new professionally organized alert service which I like the most.</p>
<p>If you are like me, then &#8220;all of the above&#8221;.</p>
<p><span id="more-7986"></span></p>
<div id="more-7986"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Being engineers many of my colleagues have created monitoring scripts that scrape the WWDC page and look for changes. I leave it as an exercise for the reader to find these on GitHub or build their own. I for one prefer services that have done the work for me. In the case of Pingdom they have a vested professional interest in providing a reliable alert service.</p>
<h3>Pingdom</h3>
<p>The <a href="http://royal.pingdom.com/2012/04/16/grab-apple-wwdc-tickets-pingdom-monitoring/">traditional monitoring method</a> method is to set up an alert on Pingdom which you can do for free with the normal account. I set mine to check on https://developer.apple.com/wwdc every minute and look for the string &#8220;WWDC 2012. June 11-15&#8243;. I have a strong feeling that this text will disappear from this page once Apple updates it for the 2013 WWDC.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-04-06-at-9.36.14-AM.png"><img class="alignnone size-full wp-image-7987" alt="Screen Shot 2013-04-06 at 9.36.14 AM" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-04-06-at-9.36.14-AM.png?resize=676%2C654" data-recalc-dims="1" /></a> <a href="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-04-06-at-9.36.02-AM.png"><img class="alignnone size-large wp-image-7988" alt="Screen Shot 2013-04-06 at 9.36.02 AM" src="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-04-06-at-9.36.02-AM.png?resize=676%2C447" data-recalc-dims="1" /></a></p>
<p>&nbsp;</p>
<p>As soon as these conditions are no longer met I should get notified on on the selected channels. Checking my settings also reminded me that I hadn&#8217;t connected my iOS device via the Pingdom iOS app. I also set up my contact such that Pingdom will also tweet the alert via <a href="https://twitter.com/cocoanetics">@Cocoanetics</a>. So you will be informed if you follow me on Twitter automatically.</p>
<p>My second thought was to employ <a href="https://www.changedetection.com/log/apple/developer/wwdc2_log.html">ChangeDetection.com</a> for monitoring changes. But I missed the fact that they only scrape the configured sites once per day. So most likely tickets will be sold out when you get their e-mail alert.</p>
<h3>WWDC Blast</h3>
<p>All those options pale in comparison with the professionalism that can be had from <a href="https://secure.wwdcblast.com/signup">WWDC Blast</a>. Any kind of monitoring system&#8217;s effectiveness depends on you noticing any alert notification. And this is their flaw. If you are on the wrong coast of the USA or someplace else on our geoid that we call home, then email, push notifications or SMS won&#8217;t cut it.</p>
<p>What you really want is a friend who constantly refreshes the WWDC page and calls you the second there is action there. WWDC Blast is exactly that.</p>
<p>You can sign up for free to get in a queue that at them time of this writing was around 600 people. These guys are not leaving anything to chance. They employ SMS and voice gateway <a href="http://www.twilio.com">Twilio</a> to blast out thousands of SMS in parallel. And such fidelity costs a bit of money. Which is why the are offering two kinds of premium service as well:</p>
<ul>
<li><span style="line-height: 13px;">you can jump ahead of the queue, $1 per 10 spots</span></li>
<li>you can get a phone call</li>
</ul>
<p>We Europeans like to sleep at night, and I know from my experience as On-Call support person for an Austrian Cellular Network provider that you can easily sleep through hundreds of SMS. What you really want is this wakeup call.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/IMG_0251.png"><img class="alignnone size-large wp-image-7989" alt="IMG_0251" src="http://i1.wp.com/www.cocoanetics.com/files/IMG_0251.png?resize=768%2C1024" data-recalc-dims="1" /></a></p>
<p>&nbsp;</p>
<p>As you can see I jumped the queue and I also enabled SMS and Voice. Sparing no expense!</p>
<p>Now the magic part when having an iPhone running iOS 6 or higher is called &#8220;Do Not Disturb&#8221; (DND). The WWDC Blast staff has <a href="https://secure.wwdcblast.com/dnd">published a guide</a> how to download a vCard with all the phone numbers they provisioned for easy addition as a favorite contact. Then the faithful phone call will be able to ring your phone sitting on your bedside table even late at night. Or if you didn&#8217;t add it to favorites then it will break through DND by calling you multiple times. Just like any normal wake-up call.</p>
<p>At the time of this writing the vCard&#8217;s phone numbers where missing the international &#8220;+&#8221; prefix making them useless outside the USA. But it took me a only a minute to add that. In addition to that you can add the main e-mail address used by WWDC Blast to your list of VIPs. So your iPhone will tone an additional chime when the notification email arrives.</p>
<h3>Or A Friend Calls You &#8230;</h3>
<p>I have shown how to easily set up an alert with Pingdom or how to get a DND-breaking phone call from WWDC Blast. If neither is good enough for you &#8230;</p>
<p>Announcing <strong>Cocoanetics WWDC Alerts</strong>! For a mere $500 I will personally call you the instant that I have bought my own ticket. Submit your order by PayPal-ing $500 to oliver@cocoanetics.com. <img src='http://i1.wp.com/www.cocoanetics.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' data-recalc-dims="1" /> </p>
<p>That reminds me: I am <strong>open for sponsorship</strong> deals for this year&#8217;s conference. This is the first time I am trying to bring my employee and I can offer many things in exchange for you bearing a share of the cost.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7986&amp;md5=86236103199ef2d15c6076e9e90bb6b6" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/04/professional-wwdc-ticket-alert/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F04%2Fprofessional-wwdc-ticket-alert%2F&amp;language=en_GB&amp;category=text&amp;title=Professional+WWDC+Ticket+Alert&amp;description=You+want+to+be+first+in+line+when+WWDC+2013+finally+go+on+sale%3F+That+should+happen+any+day+now.+Now+there+are+many+ways+how+to+get+informed.+Homebrew...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Apple&#8217;s New Age of Unfairness</title>
		<link>http://www.cocoanetics.com/2013/04/apples-new-age-of-unfairness/</link>
		<comments>http://www.cocoanetics.com/2013/04/apples-new-age-of-unfairness/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 07:55:25 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7934</guid>
		<description><![CDATA[You might have noticed that Apple didn&#8217;t do a tour of Tech Talks last year as they had been doing traditionally in the past. The reason for this had been a sea change in the ranks of Apple&#8217;s evangelism team, headed by John Geleynse. Up until last year Apple&#8217;s unofficial motto had always been &#8220;treat everybody the same&#8221;. The popularity of iOS has brought with it an unprecedented explosion in number of developer accounts and so Apple decided at a secret board meeting held at the beginning of January to change their credo. One suggestion had been &#8220;don&#8217;t be as evil as Google&#8221;, but this was struck down by Tim Cook who feared that this would taint Apple&#8217;s reputation as it would have lowered them to their competitor&#8217;s level. But joking aside, Geleynse came to realize that Apple just cannot muster the man power it would need to hold the kind of Mini-WWDC that these Tech Talks represented all around the globe. When I interviewed him at the last Tech Talk in London he told me that doing a Euro-WWDC would be too much of a financial burden on the company. I have no idea how such a statement fits together with frequent reports of Apple having problems finding which mattress to stuff their cash into next. As a result of this realization Apple introduced Design and Tech Review Sessions held in certain key regions, like for example for Europe it was organized by Apple&#8217;s London outpost. They invited certain select companies to send a few envoys to those sessions and then they would meet with Apple designers and engineers to review their apps. I spoke to one of the lucky companies who &#8211; on condition on anonymity (not wanting to risk his new &#8220;connection&#8221; to Apple) &#8211; explained the selection process such: &#8220;They told me that they specifically picked companies whose apps are important to the app store and companies that needed it the most. We were incredibly lucky to be selected, because we didn&#8217;t think that our Flashlight app would be that important to Apple. But apparently it is. They had somebody go over our app with Instruments and he pointed out that he had never seen such performant code. Then a designer complimented us on the user experience and made a few suggestions about features that we should omit because it didn&#8217;t fit with the core functionality of the app.&#8221; As in-transparent as the iTunes team picks selection process is, think of the company selection as that times ten. We know of about a dozen or so companies &#8211; mostly in the middle to large size &#8211; from Europe that had gotten such an invitation and followed it. Shortly afterwards you could see their apps being featured on the various regional app stores. Supposedly to highlight their new-found technical and design excellence. &#8220;Treat everybody the same&#8221; my ass &#8230; But it wasn&#8217;t the above mentioned favoritism alone that caused me to write this article. The 2012 WWDC Tickets were sold out in 1 hour 43 minutes down from about 12 hours in the year before. If you extrapolate that for 2013 then you know that this year&#8217;s WWDC should sell out in under 15 minutes. But Apple does not just do this kind of rule-of-thumb estimating. They are a company of engineers and so they recently enabled the metrics collection on the Apple Developer WWDC page. From the number of hits with HTTP and ICMP requests they can get a good estimate about the number of developers currently not sleeping at night, waiting for the coveted tickets to become available. My fellow developers are using services ranging from ChangeDetection.com, over Pingdom to a variety of custom apps and scripts that hammer Apple&#8217;s site, looking for hints of ticket availability. Earlier this morning Mugunth Kumar tweeted: Apple Developer site is down, chances are that, WWDC tickets might be available once they are back. No, this is not a April Fool prank. &#8212; Mugunth Kumar () (@mugunthkumar) April 1, 2013 But the timing was odd since it was in the wee hours after midnight, usually the time when Apple does maintenance work on their web sites. We have since learned that this downtime was due to Apple adding a new load balancer plus a few additional Apache servers to deal with the load this site has to bear. By all means of measurement Mr. Geleynse knows that this year they cannot do traditional sales any more. 15 minutes to sell 5000 tickets, plus 200 free VIPs, versus all those developers that are missing out. No can do. Which is why Apple&#8217;s Tech Evangelism team had finally bulged and also began to toe the new company line. To Geleynse&#8217;s credit he tried to &#8220;treat everybody the same&#8221; longer then most [...]]]></description>
				<content:encoded><![CDATA[<p>You might have noticed that Apple didn&#8217;t do a tour of<strong> Tech Talks</strong> last year as they had been doing traditionally in the past. The reason for this had been a sea change in the ranks of Apple&#8217;s evangelism team, headed by <a href="http://www.linkedin.com/in/jgeleynse">John Geleynse</a>. Up until last year Apple&#8217;s unofficial motto had always been <em>&#8220;treat everybody the same&#8221;</em>.</p>
<p>The popularity of iOS has brought with it an unprecedented explosion in number of developer accounts and so Apple decided at a secret board meeting held at the beginning of January to change their credo. One suggestion had been <em>&#8220;don&#8217;t be as evil as Google&#8221;</em>, but this was struck down by Tim Cook who feared that this would taint Apple&#8217;s reputation as it would have lowered them to their competitor&#8217;s level.</p>
<p>But joking aside, Geleynse came to realize that Apple just cannot muster the man power it would need to hold the kind of Mini-WWDC that these Tech Talks represented all around the globe. When I interviewed him at the last Tech Talk in London he told me that doing a Euro-WWDC would be too much of a financial burden on the company. I have no idea how such a statement fits together with frequent reports of Apple having problems finding which mattress to stuff their cash into next.</p>
<p><span id="more-7934"></span></p>
<div id="more-7934"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>As a result of this realization Apple introduced <strong>Design and Tech Review Sessions</strong> held in certain key regions, like for example for Europe it was organized by Apple&#8217;s London outpost. They invited certain select companies to send a few envoys to those sessions and then they would meet with Apple designers and engineers to review their apps.</p>
<p>I spoke to one of the lucky companies who &#8211; on condition on anonymity (not wanting to risk his new &#8220;connection&#8221; to Apple) &#8211; explained the selection process such:</p>
<blockquote><p>&#8220;They told me that they specifically picked companies whose apps are important to the app store and companies that needed it the most. We were incredibly lucky to be selected, because we didn&#8217;t think that our Flashlight app would be that important to Apple. But apparently it is. They had somebody go over our app with Instruments and he pointed out that he had never seen such performant code. Then a designer complimented us on the user experience and made a few suggestions about features that we should omit because it didn&#8217;t fit with the core functionality of the app.&#8221;</p></blockquote>
<p>As in-transparent as the iTunes team picks selection process is, think of the company selection as that times ten.</p>
<p>We know of about a dozen or so companies &#8211; mostly in the middle to large size &#8211; from Europe that had gotten such an invitation and followed it. Shortly afterwards you could see their apps being featured on the various regional app stores. Supposedly to highlight their new-found technical and design excellence.</p>
<p>&#8220;Treat everybody the same&#8221; my ass &#8230; But it wasn&#8217;t the above mentioned favoritism alone that caused me to write this article.</p>
<p>The 2012 WWDC Tickets were sold out in <a href="http://en.wikipedia.org/wiki/Apple_Worldwide_Developers_Conference">1 hour 43 minutes</a> down from about 12 hours in the year before. If you extrapolate that for 2013 then you know that this year&#8217;s WWDC should sell out in under 15 minutes. But Apple does not just do this kind of rule-of-thumb estimating. They are a company of engineers and so they recently enabled the metrics collection on the <a href="https://developer.apple.com/wwdc/">Apple Developer WWDC page</a>.</p>
<p>From the number of hits with HTTP and ICMP requests they can get a good estimate about the number of developers currently not sleeping at night, waiting for the coveted tickets to become available. My fellow developers are using services ranging from ChangeDetection.com, over Pingdom to a variety of custom apps and scripts that hammer Apple&#8217;s site, looking for hints of ticket availability.</p>
<p>Earlier this morning Mugunth Kumar tweeted:</p>
<blockquote class="twitter-tweet"><p>Apple Developer site is down, chances are that, WWDC tickets might be available once they are back. No, this is not a April Fool prank.</p>
<p>&mdash; Mugunth Kumar () (@mugunthkumar) <a href="https://twitter.com/mugunthkumar/status/318586068234559488">April 1, 2013</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>But the timing was odd since it was in the wee hours after midnight, usually the time when Apple does maintenance work on their web sites. We have since learned that this downtime was due to Apple adding a new load balancer plus a few additional Apache servers to deal with the load this site has to bear.</p>
<p>By all means of measurement Mr. Geleynse knows that this year they cannot do traditional sales any more. 15 minutes to sell 5000 tickets, plus 200 free VIPs, versus all those developers that are missing out. No can do.</p>
<p>Which is why Apple&#8217;s Tech Evangelism team had finally bulged and also began to toe the new company line. To Geleynse&#8217;s credit he tried to &#8220;treat everybody the same&#8221; longer then most senior ranking executives at Apple, but in the face of exponential growth you have to begin to pick favorites, no matter how democratically fair enclined you are.</p>
<p>Several Apple employees independently confirmed to me &#8211; in secret &#8211; that Apple is planning an elaborate ruse this year. April 1st, being the Monday after easter, is a holiday in many countries, so Apple will wait until later this week to unlock the ticket website.  But they won&#8217;t be selling all 5000 tickets like they did in the past, but only half of those. And when they are sold out after a few minutes they will claim that they sold out of all tickets in record time.</p>
<p>The other half will be distributed amongst Apple&#8217;s favorite companies depending on app sales numbers. The companies will still have to pay for the tickets, but guess they will be happy to be counted as VIPs and thus will not say anything. Oh and the NDAs they have to complete in exchange for the tickets might contribute to their silence as well.</p>
<p>The new company motto will be &#8220;treat everybody the same according to their contribution to Apple&#8217;s bottom line&#8221;. </p>
<p>I&#8217;m writing this article to expose this favoritism and also because my own company&#8217;s contribution to Apple&#8217;s financial success is minimal. Granted I&#8217;m trying to get new Mac and iOS hardware to all of us at Cocoanetics every year, but this pales next to what Electronic Arts is doing for Apple&#8217;s profits.</p>
<p>One person on Apple&#8217;s side argued:</p>
<blockquote><p>&#8220;Oh stop whining you European socialists. Apple is in this for the money and since it&#8217;s their show they can choose what music they play at WWDC. And also who gets a backstage pass.&#8221;</p></blockquote>
<p>Do you think that this is the way a company like Apple should behave? Or is that just the way capitalism works.</p>
<p><em><strong>Update April 2nd: April Fools!</strong> This blog post is an utter fabrication, except for a few tidbits I added to make it more believable.</em></p>
<p>The design and tech reviews are real, I put these in there too hook readers from such preferred companies. The first solid hint was the quote about a Flashlight app having great performance. Also the &#8220;treat everybody the same&#8221; I once heard from an Apple employee, though I don&#8217;t know how far this is an actual motto.</p>
<p>The second clue as the one about the NDA in exchange for tickets. People dealing with Apple know that there are NDAs for just about everything. But for preferential tickets?!</p>
<p>The final quote about &#8220;European socialists&#8221; should have been the third dead giveaway. It keeps popping up in US politics while we Europeans keep laughing about it, since it only proves that the person uttering it has no clue what Socialism actually means. It also makes fun of the belief system  prevalent in the US that there can only be two political opinions: pro-economy-and-companies and pro-central-authority-that-dishes-out-socialism.</p>
<p>Good April Fool jokes need to have a kernel of truth to be believable, but apparently this one was too close to existing conspiracy theories. Many people seem to suspect that what I described is exactly what Apple has been doing all along. Which greatly decreases the effect of the reveal.</p>
<p>This entry is my third attempt at AprilFoolery, after <a href="http://www.cocoanetics.com/2011/04/apple-and-cocoanetics-reach-licensing-agreement/">Apple licensing my code</a> and <a href="http://www.cocoanetics.com/2012/04/omg-socialgate/">Apple banning Social Networking</a> in the previous two years. I am still proud of these as well, so I recommend you read these as well if you like a chuckle.</p>
<p>There is one big problem which we cyber jokesters are facing: most of what is getting written about Apple is an utter fabrication already. So how should anyone be able to spot a joke while being bombared with fake rumors and conspiracy theories throughout the year?</p>
<p>Since there is little hope for that to change I vow that I will think of something far more outrageous for next year&#8217;s April 1st. Like &#8211; say &#8211; an Apple Television or Smart Watch.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7934&amp;md5=bb29193d023571785da153076bc838b6" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/04/apples-new-age-of-unfairness/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F04%2Fapples-new-age-of-unfairness%2F&amp;language=en_GB&amp;category=text&amp;title=Apple%26%238217%3Bs+New+Age+of+Unfairness&amp;description=You+might+have+noticed+that+Apple+didn%26%238217%3Bt+do+a+tour+of+Tech+Talks+last+year+as+they+had+been+doing+traditionally+in+the+past.+The+reason+for+this+had+been...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Sir Ive Puts His Foot Down</title>
		<link>http://www.cocoanetics.com/2013/03/sir-ive-puts-his-foot-down/</link>
		<comments>http://www.cocoanetics.com/2013/03/sir-ive-puts-his-foot-down/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 11:08:48 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7892</guid>
		<description><![CDATA[Apple&#8217;s &#8220;new&#8221; Senior Vice President of Industrial Design Sir Jonathan Ive took on the additional role of also being of in charge of the iOS Alu.. Alumino.. Chrome when Scott Forstall moved into an advisory position. In the latest update to the Podcasts.app I believe we are seeing the first hint of the fresh breeze that Jony is bringing to Apple&#8217;s app design. The unword that definitely plagued Apple in 2012 was Skeuomophism. It means to make something look like it has different physical properties than it really would have. Like the Gamecenter app showing green felt when touching it really feels like touching glass to me. Other examples include leather-bound digital calendars, the style of the Find my Friends app and a few more attempts to make iOS look more valuable by including expensive materials or craftsmanship. Apple also got much ridicule over the decision to show a tape deck behind a podcast&#8217;s cover art. While being a fun experiment you have to be older than 30 years to even emotionally understand what you are seeing here. Younger people haven&#8217;t ever seen a tape deck in operation, let alone formed fond memories of the drawbacks that the physical tape medium had. Do you remember rewinding audio tape cassettes with a lead pen?   Good riddance! Of tape decks real and imagined. The design changes in the Podcast app speak a clear language of simplicity, removal of space-wasting eye-candy and symmetry. One thing I hated about prior versions was that you would step backward in 10 second increments but forward 30 seconds each. In version 1.2 they made it symmetric to be 15 seconds both ways. Symmetry is beauty. The second indication of a new direction in design is the difference between the buttons. While the old version tries to emulate physical buttons, keeping with Apple&#8217;s patented rounded rectangles the new style does not need additional cues to tell the UI story. It is obvious from the contrast between the icons and the back shaded background that there is interactivity to be had there. So I think the main themes that Jony Ive is bringing to OS design are: symmetry visually and in functionality abolish eye candy which is done &#8220;because we can&#8221;. less rounded rectangles, only use them where a state is being communicated, like on the 1x button visual contrast without noise, light colors communicating interactivity, dark colors being the backdrop simplify navigation, use space well to eliminate the need to go into unnecessary modal dialogs. Pundits are already writing pieces arguing that certainly the next iOS version will have a brand new flat design. To this I say: bullshit! If what we know about Jony&#8217;s tastes then &#8220;flatness&#8221; is certainly not a part of that. I don&#8217;t think that there is much risk that iOS will turn into a cousin of Android (which is totally flat) or Windows Phone (also flat and tiles).]]></description>
				<content:encoded><![CDATA[<p>Apple&#8217;s &#8220;new&#8221; <a href="https://www.apple.com/pr/bios/jonathan-ive.html">Senior Vice President of Industrial Design</a> Sir Jonathan Ive took on the additional role of also being of in charge of the iOS Alu.. Alumino.. Chrome when Scott Forstall moved into an advisory position.</p>
<p>In the latest update to the Podcasts.app I believe we are seeing the first hint of the fresh breeze that Jony is bringing to Apple&#8217;s app design.</p>
<p>The unword that definitely plagued Apple in 2012 was <a href="http://en.wikipedia.org/wiki/Skeuomorph">Skeuomophism</a>. It means to make something look like it has different physical properties than it really would have. Like the Gamecenter app showing green felt when touching it really feels like touching glass to me.</p>
<p>Other examples include leather-bound digital calendars, the style of the Find my Friends app and a few more attempts to make iOS look more valuable by including expensive materials or craftsmanship. </p>
<p><span id="more-7892"></span></p>
<div id="more-7892"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Apple also got much ridicule over the decision to show a tape deck behind a podcast&#8217;s cover art. </p>
<p>While being a fun experiment you have to be older than 30 years to even emotionally understand what you are seeing here. Younger people haven&#8217;t ever seen a tape deck in operation, let alone formed fond memories of the drawbacks that the physical tape medium had. </p>
<p>Do you remember rewinding audio tape cassettes with a lead pen?</p>
<p><img class="alignnone  wp-image-7895" alt="Before Jony" src="http://i2.wp.com/www.cocoanetics.com/files/IMG_0003.png?resize=346%2C614" data-recalc-dims="1" /> <img class="alignnone  wp-image-7894" alt="After Jony" src="http://i1.wp.com/www.cocoanetics.com/files/IMG_0004.png?resize=346%2C614" data-recalc-dims="1" /></p>
<p>Good riddance! Of tape decks real and imagined.</p>
<p>The design changes in the Podcast app speak a clear language of simplicity, removal of space-wasting eye-candy and symmetry. One thing I hated about prior versions was that you would step backward in 10 second increments but forward 30 seconds each. In version 1.2 they made it symmetric to be 15 seconds both ways. Symmetry is beauty.</p>
<p>The second indication of a new direction in design is the difference between the buttons. While the old version tries to emulate physical buttons, keeping with Apple&#8217;s <a href="http://arstechnica.com/apple/2012/11/apple-awarded-design-patent-for-actual-rounded-rectangle/">patented rounded rectangles</a> the new style does not need additional cues to tell the UI story. It is obvious from the contrast between the icons and the back shaded background that there is interactivity to be had there.</p>
<p>So I think the main themes that Jony Ive is bringing to OS design are:</p>
<ul>
<li><span style="line-height: 13px;"><strong>symmetry</strong> visually and in functionality</span></li>
<li><strong>abolish eye candy</strong> which is done &#8220;because we can&#8221;.</li>
<li><strong>less rounded rectangles</strong>, only use them where a state is being communicated, like on the 1x button</li>
<li><strong>visual contrast without noise</strong>, light colors communicating interactivity, dark colors being the backdrop</li>
<li><strong>simplify navigation,</strong> use space well to eliminate the need to go into unnecessary modal dialogs.</li>
</ul>
<p>Pundits are already writing pieces arguing that certainly the next iOS version will have a brand new flat design. To this I say: bullshit!</p>
<p>If what we know about Jony&#8217;s tastes then &#8220;flatness&#8221; is certainly not a part of that. I don&#8217;t think that there is much risk that iOS will turn into a cousin of Android (which is totally flat) or Windows Phone (also flat and tiles).</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7892&amp;md5=40200465f70ce0d69853255c371c62e7" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/03/sir-ive-puts-his-foot-down/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F03%2Fsir-ive-puts-his-foot-down%2F&amp;language=en_GB&amp;category=text&amp;title=Sir+Ive+Puts+His+Foot+Down&amp;description=Apple%26%238217%3Bs+%26%238220%3Bnew%26%238221%3B+Senior+Vice+President+of+Industrial+Design%C2%A0Sir+Jonathan+Ive%C2%A0took+on+the+additional+role+of+also+being+of+in+charge+of+the+iOS+Alu..+Alumino..+Chrome+when+Scott+Forstall+moved...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>UITextView Caught With Trousers Down</title>
		<link>http://www.cocoanetics.com/2012/12/uitextview-caught-with-trousers-down/</link>
		<comments>http://www.cocoanetics.com/2012/12/uitextview-caught-with-trousers-down/#comments</comments>
		<pubDate>Sat, 15 Dec 2012 22:20:19 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7355</guid>
		<description><![CDATA[I had begun development on DTRichTextEditor a few months before WWDC 2012. This was the time when Apple announced that UIKit would support attributed strings beginning with iOS 6. 3 classes to be exact &#8211; if you search the documentation for the attributedText property &#8211; UILabel, UITextField and UITextView. Back then I I was hesitant to concede that Apple had sherlocked my open source work in DTCoreText. Yes, there where a few formatting styles now supported, but still the initWithHTML which exists on Mac was still nowhere to be seen on iOS. In the least people would still be able to bridge the gap from HTML to NSAttributedString with my classes. As I dove more into making DTCoreText compatible with new attributes used by iOS 6 I found the approach that Apple chose to take quite limited and extremely incomplete. New Attributes The main differences between NSAttributedString on iOS 6 and CoreFoundation-level CoreText are that several classes are now proper NSObjects which before where only CF-classes. CTParagraphStyle is matched by NSParagraphStyle. CTFont is replaced by a new hybrid UICFFont, which looks like UIFont to us. References to colors where CGColor before and now are UIColors. Unfortunately some attributes use exactly the same key strings internally which causes nasty crashes if you try to use those on the three UIKit classes. For example an attributed string which uses a CTFont is incompatible because UIKit expects an UIFont at the attribute with the same string as key. And the unfortunate discoveries don&#8217;t end here. Apple only brought over a part of the properties of NSParagraphStyle. On the Mac you have access to tab stops, lists and text blocks. Internally those are present even on iOS as evidenced by the description of NSParagraphStyle objects. But we have no public method for setting these. This poses a bit of a problem because we need access to the tab stops if we want to get the positioning of list bullets correct. DTCoreText is iOS 6 Compatible Nevertheless I upgraded DTCoreText by popular demand to be able to generate iOS 6 compatible attributed strings. If you pass the new DTUseiOS6Attributes (with an NSNumber&#8217;d YES) option to -initWithHTMLData:options:documentAttributes: then whenever the string builder has a choice between traditional or iOS 6 compatible attribute it will pick the latter. I updated the demo app with an additional &#8220;iOS 6&#8243; tab which shows the demo snippet in a UITextView. The &#8220;View&#8221; tab displays the text in an DTAttributedTextContentView as it always has, using the classic CoreText attributes (plus a few of my own). As you can see from these two screenshot we have all the basics working, even CSS shadows, although only one shadow is supported by UITextView at a time. The list of missing functionality is long. Besides the missing tabs making lists slightly awkward, there is no support for NSTextAttachment. This is the way how images are embedded in attributed strings on Mac. In DTCoreText we are using run delegates as a workaround to reserve sufficient space to manually add a subview for images or videos. Run delegates are also sorely missing in UIKit. It especially hurts to see hyperlinks missing as well. UITextView supports hyperlink detection. If you turn this on then you get hyperlinks for text that looks like URLs, but if the user taps on these he leaves the app. Also you have no way to have a different label than the actual internet address behind the link. It would have been so simple &#8230; on Mac there is an attribute that holds an NSURL. Apple could have done the same on iOS and display a link for text ranges with this attribute. An additional UITextView delegate method to respond to the user tapping the link would have been nice as well. What&#8217;s Really Going On You might have heard this elsewhere before: internally UITextView is just a web view. When I got started working on the iOS 6 compatibility mode for DTCoreText I caught UITextView with its trousers down, peekaboo! This is the stack trace you get if you try to set an attributed string with a CTFont on a UITextView. You can clearly see that the setAttributedText: is trying to convert the attributed string to HTML. The CTFont is missing a certain property that UIFont has, triggering an unrecognized selector exception. This crash was truly eye-opening. Until this point I was assuming that UITextView was working similar to DTAttributedTextContentView in so far as it would be directly drawing NSAttributedStrings. But Apple took a shortcut  -instead of adding drawing of attributed strings to UIKit, they brought the private NSHTMLWriter class to iOS. This is used to create HTML that the Webkit view inside of UITextView is able to display. UITextView has a private setHTMLString: method, unfortunately off limits. If we look closer with recursiveDescription we see the beautifully simple [...]]]></description>
				<content:encoded><![CDATA[<p>I had begun development on DTRichTextEditor a few months before WWDC 2012. This was the time when Apple announced that UIKit would support attributed strings beginning with iOS 6. 3 classes to be exact &#8211; if you search the documentation for the attributedText property &#8211; UILabel, UITextField and UITextView.</p>
<p>Back then I I was hesitant to concede that Apple had sherlocked my open source work in DTCoreText. Yes, there where a few formatting styles now supported, but still the <a title="UIWebView must die" href="http://www.cocoanetics.com/2011/01/uiwebview-must-die/">initWithHTML</a> which exists on Mac was still nowhere to be seen on iOS. In the least people would still be able to bridge the gap from HTML to NSAttributedString with my classes.</p>
<p>As I dove more into making DTCoreText compatible with new attributes used by iOS 6 I found the approach that Apple chose to take quite limited and extremely incomplete.</p>
<p><span id="more-7355"></span></p>
<div id="more-7355"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>New Attributes</h3>
<p>The main differences between NSAttributedString on iOS 6 and CoreFoundation-level CoreText are that several classes are now proper NSObjects which before where only CF-classes. CTParagraphStyle is matched by NSParagraphStyle. CTFont is replaced by a new hybrid UICFFont, which looks like UIFont to us. References to colors where CGColor before and now are UIColors.</p>
<p>Unfortunately some attributes use exactly the same key strings internally which causes nasty crashes if you try to use those on the three UIKit classes. For example an attributed string which uses a CTFont is incompatible because UIKit expects an UIFont at the attribute with the same string as key.</p>
<p>And the unfortunate discoveries don&#8217;t end here. Apple only brought over a part of the properties of NSParagraphStyle. On the Mac you have access to tab stops, lists and text blocks. Internally those are present even on iOS as evidenced by the description of NSParagraphStyle objects. But we have no public method for setting these. This poses a bit of a problem because we need access to the tab stops if we want to get the positioning of list bullets correct.</p>
<h3>DTCoreText is iOS 6 Compatible</h3>
<p>Nevertheless I upgraded DTCoreText by popular demand to be able to generate iOS 6 compatible attributed strings. If you pass the new <code>DTUseiOS6Attributes</code> (with an NSNumber&#8217;d YES) option to -initWithHTMLData:options:documentAttributes: then whenever the string builder has a choice between traditional or iOS 6 compatible attribute it will pick the latter.</p>
<p>I updated the demo app with an additional &#8220;iOS 6&#8243; tab which shows the demo snippet in a UITextView. The &#8220;View&#8221; tab displays the text in an DTAttributedTextContentView as it always has, using the classic CoreText attributes (plus a few of my own).</p>
<p><img class="alignnone size-medium wp-image-7357" alt="Screen Shot 2012-12-15 at 21.46.26" src="http://i0.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-15-at-21.46.26.png?resize=159%2C300" data-recalc-dims="1" /><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-15-at-21.46.41.png"><img class="alignnone size-medium wp-image-7356" alt="Screen Shot 2012-12-15 at 21.46.41" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-15-at-21.46.41.png?resize=159%2C300" data-recalc-dims="1" /></a></p>
<p>As you can see from these two screenshot we have all the basics working, even CSS shadows, although only one shadow is supported by UITextView at a time.</p>
<p>The list of missing functionality is long. Besides the missing tabs making lists slightly awkward, there is no support for NSTextAttachment. This is the way how images are embedded in attributed strings on Mac. In DTCoreText we are using run delegates as a workaround to reserve sufficient space to manually add a subview for images or videos. Run delegates are also sorely missing in UIKit.</p>
<p>It especially hurts to see hyperlinks missing as well. UITextView supports hyperlink detection. If you turn this on then you get hyperlinks for text that looks like URLs, but if the user taps on these he leaves the app. Also you have no way to have a different label than the actual internet address behind the link. It would have been so simple &#8230; on Mac there is an attribute that holds an NSURL. Apple could have done the same on iOS and display a link for text ranges with this attribute. An additional UITextView delegate method to respond to the user tapping the link would have been nice as well.</p>
<h3>What&#8217;s Really Going On</h3>
<p>You might have heard this elsewhere before: internally UITextView is just a web view. When I got started working on the iOS 6 compatibility mode for DTCoreText I caught UITextView with its trousers down, peekaboo!</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/A92FipsCIAA1IXo.jpg-large.jpeg"><img class="alignnone size-full wp-image-7358" alt="UITextView generating HTML" src="http://i2.wp.com/www.cocoanetics.com/files/A92FipsCIAA1IXo.jpg-large.jpeg?resize=493%2C179" data-recalc-dims="1" /></a></p>
<p>This is the stack trace you get if you try to set an attributed string with a CTFont on a UITextView. You can clearly see that the setAttributedText: is trying to convert the attributed string to HTML. The CTFont is missing a certain property that UIFont has, triggering an unrecognized selector exception. This crash was truly eye-opening.</p>
<p>Until this point I was assuming that UITextView was working similar to DTAttributedTextContentView in so far as it would be directly drawing NSAttributedStrings. But Apple took a shortcut  -instead of adding drawing of attributed strings to UIKit, they brought the private NSHTMLWriter class to iOS. This is used to create HTML that the Webkit view inside of UITextView is able to display.</p>
<p>UITextView has a private setHTMLString: method, unfortunately off limits. If we look closer with <a title="Visual View Debugging" href="http://www.cocoanetics.com/2011/05/visual-view-debugging/">recursiveDescription</a> we see the beautifully simple structure:</p>
<p><a href="http://i0.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-15-at-22.20.55.png"><img class="alignnone  wp-image-7359" alt="Screen Shot 2012-12-15 at 22.20.55" src="http://i0.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-15-at-22.20.55.png?resize=664%2C170" data-recalc-dims="1" /></a></p>
<p>UITextView itself is a subclass of UIScrollView, hence the two image views which represent the scroll indicators. The content view is a UIWebDocumentView, which is where the Webkit magic supposedly occurs. Finally there is a UITextSelectionView which &#8211; as the name suggests &#8211; probably has to do with displaying text selections.</p>
<p>It might or might not be a Webkit derivative, but it is quite clear that Apple would not have named a view that displays attributed strings UIWebDocumentView. &#8220;Web Document&#8221; is a longer name for HTML.</p>
<h3>Giving NSHTMLWriter a Spin</h3>
<p>I googled for the class name and found quite a few GitHub repositories featuring headers of private classes. I used the one that <a href="https://github.com/nst/iOS-Runtime-Headers/blob/master/PrivateFrameworks/UIFoundation.framework/NSHTMLWriter.h">Nicolas Seriot has on his GitHub space.</a> Class dumping also outputs instance variables and private methods. Omitting these, that is how the &#8220;public&#8221; interface looks like:</p>

<div class="wp_codebox"><table><tr id="p73559"><td class="code" id="p7355code9"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">@interface</span> NSHTMLWriter <span style="color: #002200;">:</span> <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/"><span style="color: #400080;">NSObject</span></a>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>initWithAttributedString<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>arg1;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>setDocumentAttributes<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>arg1;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>documentFragmentForDocument<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>arg1;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>readDocumentFragment<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>arg1;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>webArchiveData;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>webArchive;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>subresources;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>HTMLFileWrapper;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>HTMLData;
<span style="color: #a61390;">@end</span></pre></td></tr></table></div>

<p>The web archive stuff is probably used for copy/paste support. BTW: I have a <a href="https://github.com/Cocoanetics/DTWebArchive">project for working with web archives</a>, too.</p>
<p>Using the obviously named initializer and assuming that HTMLData is the HTML data in default UTF 8 format we can concoct a quick sample to see how the generated HTML looks like:</p>

<div class="wp_codebox"><table><tr id="p735510"><td class="code" id="p7355code10"><pre class="objc" style="font-family:monospace;"><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/"><span style="color: #400080;">NSDictionary</span></a> <span style="color: #002200;">*</span>fontAttr <span style="color: #002200;">=</span> @<span style="color: #002200;">&#123;</span>NSFontAttributeName<span style="color: #002200;">:</span> <span style="color: #002200;">&#91;</span>UIFont systemFontOfSize<span style="color: #002200;">:</span><span style="color: #2400d9;">14.0</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#125;</span>;
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableAttributedString_Class/"><span style="color: #400080;">NSMutableAttributedString</span></a> <span style="color: #002200;">*</span><span style="color: #a61390;">string</span> <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableAttributedString_Class/"><span style="color: #400080;">NSMutableAttributedString</span></a> alloc<span style="color: #002200;">&#93;</span> initWithString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;123<span style="color: #2400d9;">\n</span>Hello HTML World!<span style="color: #2400d9;">\n</span>New Paragraph<span style="color: #2400d9;">\n</span>Multiple Spaces-&gt;      &lt;-until here&quot;</span> attributes<span style="color: #002200;">:</span>fontAttr<span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #11740a; font-style: italic;">// make HTML red</span>
<span style="color: #002200;">&#91;</span><span style="color: #a61390;">string</span> addAttribute<span style="color: #002200;">:</span>NSForegroundColorAttributeName value<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>UIColor redColor<span style="color: #002200;">&#93;</span> range<span style="color: #002200;">:</span>NSMakeRange<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">10</span>, <span style="color: #2400d9;">4</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #11740a; font-style: italic;">// make Hello bold</span>
<span style="color: #002200;">&#91;</span><span style="color: #a61390;">string</span> addAttribute<span style="color: #002200;">:</span>NSFontAttributeName value<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>UIFont boldSystemFontOfSize<span style="color: #002200;">:</span><span style="color: #2400d9;">14.0</span><span style="color: #002200;">&#93;</span> range<span style="color: #002200;">:</span>NSMakeRange<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">4</span>, <span style="color: #2400d9;">5</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #11740a; font-style: italic;">// make World italic</span>
<span style="color: #002200;">&#91;</span><span style="color: #a61390;">string</span> addAttribute<span style="color: #002200;">:</span>NSFontAttributeName value<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>UIFont italicSystemFontOfSize<span style="color: #002200;">:</span><span style="color: #2400d9;">14.0</span><span style="color: #002200;">&#93;</span> range<span style="color: #002200;">:</span>NSMakeRange<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">15</span>, <span style="color: #2400d9;">5</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
NSHTMLWriter <span style="color: #002200;">*</span>writer <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>NSHTMLWriter alloc<span style="color: #002200;">&#93;</span> initWithAttributedString<span style="color: #002200;">:</span><span style="color: #a61390;">string</span><span style="color: #002200;">&#93;</span>;
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/"><span style="color: #400080;">NSData</span></a> <span style="color: #002200;">*</span>data <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>writer HTMLData<span style="color: #002200;">&#93;</span>;
&nbsp;
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>htmlString <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> alloc<span style="color: #002200;">&#93;</span> initWithData<span style="color: #002200;">:</span>data encoding<span style="color: #002200;">:</span>NSUTF8StringEncoding<span style="color: #002200;">&#93;</span>;
&nbsp;
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%@&quot;</span>, htmlString<span style="color: #002200;">&#41;</span>;</pre></td></tr></table></div>

<p>By now I was bursting with anticipation because NSHTMLWriter does something that I&#8217;ve been meaning to add to DTCoreText for a long time: it has a dedicated class for assembling HTML. My current solution is much more crude, -htmlString works by appending to a mutable string.</p>
<p>This is what the above sample outputs:</p>
<p><a href="http://i0.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-15-at-22.49.09.png"><img class="alignnone  wp-image-7361" alt="Screen Shot 2012-12-15 at 22.49.09" src="http://i0.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-15-at-22.49.09.png?resize=638%2C263" data-recalc-dims="1" /></a></p>
<p>We got a HTML4 Strict DTD, a UTF-8 content type, the writer identifies itself as &#8220;Cocoa HTML Writer&#8221;. All the styles are grouped together in a style block as last element of the HTML header.</p>
<p>The first combination of styles is responsible for generating a span style, subsequent occurrences of the an identical style are then simply mapped to this first occurrence. Ingenious I must say, this can potentially eliminate a great deal of redundancy that my -htmlString currently outputs.</p>
<p>Each \n creates &#8211; of course &#8211; a new paragraph. There is one more technique that I find eye-opening here.</p>
<p>Converting between HTML and NSAttributedString also poses a problem when encountering multiple spaces next to each other. HTML generally ignores these and shows only a single space between works if there are a few spaces or a new line. Unless in a CDATA or  PRE whitespace is generally being compressed.</p>
<p>Apple has a cute technique to deal with such a scenario. Multiple spaces (code 32) are enclosed with a span of class &#8220;Apple-converted-space&#8221;. Then every other space is replaced with a code 160 space which is a Unicode NO-BREAK SPACE. This way it would still break, but only at every normal space. You don&#8217;t get a range that fully prevents line wrapping. Ingenious!</p>
<p>I&#8217;m a bit torn over this technique of brute-force style categorizing. I was imagining something more elegant that would reduce repetitions to a minimum. Like if the entire document is only using Helvetica, then I would like to see the only reference for it to be in the outermost container tag, i.e. BODY. But then again, how many different styles (including italic and bold) would you really find on the kinds of text we would want to display in a UITextView? Half a dozen perhaps? A dozen?</p>
<h3>Conclusion</h3>
<p>At this time there are only very few scenarios where I can imagine somebody using attributed strings with UIKit views. Only if you have no images, no hyperlinks and no lists can I imagine this to be of value. Possibly if you have some sort of eBook reader style app. A rich text UITextView gives you text selection, copy and define context options, even basic editing capability.</p>
<p>The current solution leaves much to be desired, to use a modern expression it is &#8220;half assed&#8221; to say the least. The left out the important features that would have let us work around some of the missing pieces, most painfully tab stops and run delegates.</p>
<p>Worst of all there are tons of bugs resulting from the weird way of converting attributed strings to HTML data. If you want to set a <a href="http://stackoverflow.com/questions/12562506/nsparagraphstyle-line-spacing-ignored">line height this is broken</a> as soon as you have more than one font. Also Kerning is supposed to be supported, but it is <a href="http://stackoverflow.com/questions/13239267/kerning-in-ios-uitextview">broken, too</a>. With the sample code above you are now able to put the finger on the true culprit: NSHTMLWriter.</p>
<p>About time we file tons of Radars&#8230;</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7355&amp;md5=fdbfc5c9d4ed92df010a521284d8d379" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/12/uitextview-caught-with-trousers-down/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F12%2Fuitextview-caught-with-trousers-down%2F&amp;language=en_GB&amp;category=text&amp;title=UITextView+Caught+With+Trousers+Down&amp;description=I+had+begun+development+on+DTRichTextEditor+a+few+months+before+WWDC+2012.+This+was+the+time+when+Apple+announced+that+UIKit+would+support+attributed+strings+beginning+with+iOS+6.+3...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Image Decompression Benchmark: iPad 4 + Mini</title>
		<link>http://www.cocoanetics.com/2012/12/image-decompression-benchmark-ipad-4-mini/</link>
		<comments>http://www.cocoanetics.com/2012/12/image-decompression-benchmark-ipad-4-mini/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 14:39:03 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7321</guid>
		<description><![CDATA[It&#8217;s been a while since the unveiling of the iPad mini and new new Retina iPad (aka iPad 4). I like to compare image decompression performance between device generations because personally I believe that this tells a more tangible story than any other benchmark where you end up with some score. We were told that iPad 4 would be twice as fast as the iPad 3 and that the iPad mini would be at the same performance level as the iPad 2. So we shall compare the results for these devices to see if these statements hold. Also we would like to know if there is any sort of tangible benefit from including armv7s code in our apps. Originally my image decompression benchmark would compare multiple image sizes, PNG crushed and uncrushed and 10 levels of JPG compression. As devices grow faster with each generation we find that it does not make much sense any more to fuss over accurately measuring the millisecond times for the very small images. There are many factors causing a bit of a fluctuation on those small numbers which would require us to either consider many more samples or to fudge the numbers. Which is why for this edition of my benchmark update I&#8217;m only going to compare the Retina resolution image in PNG crushed+uncrushed and JPEG 80% as this is the compression level providing sufficient fidelity for most use cases. Measured times are in milliseconds and include the three phases: alloc/init of the UIImage, decompressing it and drawing it into a properly sized bitmap context simulating display on screen. You can see the iPad mini fitting snugly between the iPad 2 and 3, I&#8217;m stressing between because there is a measurable performance improvement over the iPad 2. Only a little (5% faster) on decompressing JPEGs, but much more noticeable when dealing with PNGs (25% faster uncrushed and 33% faster crushed). If you refer back to my iPhone 5 benchmark you can see how Apple managed to double the JPEG decompression performance by doubling the floating point registers. No such dramatic CPU improvement can be seen between generations of the iPad. Obviously there Apple is focussing on GPU performance tuning which has only a very small impact on the sheer crunching of numbers needed to decompress something from disk. I put the iPhone 5 onto the chart as well because just like the mini fits neatly between iPad 2 and 3, the phone is almost equidistant between the iPad 3 and 4.If you just look at the green bar (JPEG decompression) you can see it improve almost in a linear fashion. If Moore&#8217;s law where true for Apple too, shouldn&#8217;t that be increasing? Oh yes, it might since the time between 4 and 3 was only half a year. The iPad 4 doesn&#8217;t give us twice the CPU power, but still the improvements are nothing to sneeze at: 30% improvement for uncrushed PNGs, 17% improvement for crushed PNGs and 31% better JPEG decompression. Not half, but almost a third is still remarkable. I outlined in my iPad 3 benchmark why I believed this device to be seriously underpowered for its resolution. In the iPad 4 the CPU has finally caught up with the display resolution. Now my original statement from my very first benchmark article last year. Crushed PNGs are ideal when used for relatively small icons and UI elements. But for any sort of image of display resolution JPEGs can be as much as twice as fast to get from disk to display. On iPad 4 JPEGs (80%) can be decompressed 49% faster than crushed PNGs of same size. The sweet spot remains at 16 ms because there you could get 60 images to display per second. iPad 4 is at 116 ms which is 7 times that amount. Getting there slowly but steadily, just 2 or 3 more iPad generations&#8230; or maybe Apple will finally add hardware acceleration to UIImage/CGImage. I almost forgot to mention that I also tested armv7 versus armv7s on iPhone 5 and iPad 4 which are the two devices that currently support this instruction set. But I could not see any sort of difference in the numbers. Conclusion Bear in mind that we are only looking at the performance we can see via UIImage and Quartz which for the most part is only looking at the CPU because of the synthetic nature of the drawing. There is no compositing which is GPU-accelerated. There is a technique to decompress images on the GPU via CoreImage, but unfortunately it takes more time to load the image data onto the GPU from disk than it takes to decompress it on the CPU. This technique is only useful in scenarios where you want to decompress the same images often, say in a game where [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a while since the unveiling of the iPad mini and new new Retina iPad (aka iPad 4). I like to compare image decompression performance between device generations because personally I believe that this tells a more tangible story than any other benchmark where you end up with some score.</p>
<p>We were told that iPad 4 would be twice as fast as the iPad 3 and that the iPad mini would be at the same performance level as the iPad 2. So we shall compare the results for these devices to see if these statements hold. Also we would like to know if there is any sort of tangible benefit from including armv7s code in our apps.</p>
<p><span id="more-7321"></span></p>
<div id="more-7321"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Originally my image decompression benchmark would compare multiple image sizes, PNG crushed and uncrushed and 10 levels of JPG compression. As devices grow faster with each generation we find that it does not make much sense any more to fuss over accurately measuring the millisecond times for the very small images. There are many factors causing a bit of a fluctuation on those small numbers which would require us to either consider many more samples or to fudge the numbers.</p>
<p>Which is why for this edition of my benchmark update I&#8217;m only going to compare the Retina resolution image in PNG crushed+uncrushed and JPEG 80% as this is the compression level providing sufficient fidelity for most use cases.</p>
<p>Measured times are in milliseconds and include the three phases: alloc/init of the UIImage, decompressing it and drawing it into a properly sized bitmap context simulating display on screen.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-10-at-14.58.24.png"><img class="alignnone size-full wp-image-7322" title="Benchmark Results" src="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-10-at-14.58.24.png?resize=698%2C521" alt="" data-recalc-dims="1" /></a></p>
<p>You can see the iPad mini fitting snugly <em>between</em> the iPad 2 and 3, I&#8217;m stressing between because there is a measurable performance improvement over the iPad 2. Only a little (5% faster) on decompressing JPEGs, but much more noticeable when dealing with PNGs (25% faster uncrushed and 33% faster crushed).</p>
<p>If you refer back to my <a href="http://www.cocoanetics.com/2012/09/iphone-5-image-decompression-benchmarked/">iPhone 5 benchmark</a> you can see how Apple managed to double the JPEG decompression performance by doubling the floating point registers. No such dramatic CPU improvement can be seen between generations of the iPad. Obviously there Apple is focussing on GPU performance tuning which has only a very small impact on the sheer crunching of numbers needed to decompress something from disk.</p>
<p>I put the iPhone 5 onto the chart as well because just like the mini fits neatly between iPad 2 and 3, the phone is almost equidistant between the iPad 3 and 4.If you just look at the green bar (JPEG decompression) you can see it improve almost in a linear fashion. If Moore&#8217;s law where true for Apple too, shouldn&#8217;t that be increasing? Oh yes, it might since the time between 4 and 3 was only half a year.</p>
<p>The iPad 4 doesn&#8217;t give us twice the CPU power, but still the improvements are nothing to sneeze at: 30% improvement for uncrushed PNGs, 17% improvement for crushed PNGs and 31% better JPEG decompression. Not half, but almost a third is still remarkable. I outlined in my <a href="http://www.cocoanetics.com/2012/03/ipad-3-image-decompression-benchmarked/">iPad 3 benchmark</a> why I believed this device to be seriously underpowered for its resolution. In the iPad 4 the CPU has finally caught up with the display resolution.</p>
<p>Now my original statement from my very <a href="http://www.cocoanetics.com/2011/10/avoiding-image-decompression-sickness/">first benchmark article</a> last year. Crushed PNGs are ideal when used for relatively small icons and UI elements. But for any sort of image of display resolution JPEGs can be as much as twice as fast to get from disk to display. On iPad 4 JPEGs (80%) can be decompressed 49% faster than crushed PNGs of same size.</p>
<p>The sweet spot remains at 16 ms because there you could get 60 images to display per second. iPad 4 is at 116 ms which is 7 times that amount. Getting there slowly but steadily, just 2 or 3 more iPad generations&#8230; or maybe Apple will finally add hardware acceleration to UIImage/CGImage.</p>
<p>I almost forgot to mention that I also tested armv7 versus armv7s on iPhone 5 and iPad 4 which are the two devices that currently support this instruction set. But I could not see any sort of difference in the numbers.</p>
<h3>Conclusion</h3>
<p>Bear in mind that we are only looking at the performance we can see via UIImage and Quartz which for the most part is only looking at the CPU because of the synthetic nature of the drawing. There is no compositing which is GPU-accelerated. There is a technique to decompress images on the GPU via CoreImage, but unfortunately it takes more time to load the image data onto the GPU from disk than it takes to decompress it on the CPU. This technique is only useful in scenarios where you want to decompress the same images often, say in a game where the images are textures.</p>
<p>I&#8217;m speculating that these findings about the iPad 4 are also telling us part of the reason why Apple already released the iPad 4 this fall. According to Moore&#8217;s law we should be able to expect twice the CPU performance in an iPad released one year after the iPad 3. But the iPad 4 is only a linear improvement and not an exponential one.</p>
<p>Possibly Apple&#8217;s silicon engineers are seeing what performance they can achieve with a given architecture and feature size and then Apple is deciding the release time based on that? If they had released the iPad 4 in spring it would have been less of the expected improvement. By releasing it ahead of the general expectations they manage to keep their head start and also get the new power connector into their main tablet product. Also the iPad 4 is the first tablet where game makers can crank the rendering target resolution to be equal to the pixels.</p>
<p>I predict we will see the next iPad be release as early as next spring because they still have the double register trick up their sleeve. We would have seen a much bigger jump if they had already used this sleight of hand.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7321&amp;md5=d6aa9d0c802e7cd1c8ca9c9ad28ff40c" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/12/image-decompression-benchmark-ipad-4-mini/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F12%2Fimage-decompression-benchmark-ipad-4-mini%2F&amp;language=en_GB&amp;category=text&amp;title=Image+Decompression+Benchmark%3A+iPad+4+%2B+Mini&amp;description=It%26%238217%3Bs+been+a+while+since+the+unveiling+of+the+iPad+mini+and+new+new+Retina+iPad+%28aka+iPad+4%29.+I+like+to+compare+image+decompression+performance+between+device+generations+because...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Fresh Perspective &#8211; iPad Mini Keynote</title>
		<link>http://www.cocoanetics.com/2012/10/fresh-perspective-ipad-mini-keynote/</link>
		<comments>http://www.cocoanetics.com/2012/10/fresh-perspective-ipad-mini-keynote/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 09:39:12 +0000</pubDate>
		<dc:creator>Julia Grill</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7156</guid>
		<description><![CDATA[Hey! My name is Julia Grill also known as juliastic on Twitter and my nice cousin-in-law offered me to post an article about the lastest Apple keynote on his website. So I hope you don’t judge my English as much, because I come from Austria and I’m still learning it. I also have a website called julialerntios.com where I review apps and also want to begin to blog about technical stuff. Right now all the articles are in German, but I’m trying my best to only blog in English anymore. So, enough from the self-advertisement: Yesterday, as you probably know, was the Apple keynote. That was generally the first keynote I ever saw, so I was a bit of excited. But also I were generally excited, because of the iPad mini and the Mac Book Pro 13” who will be announced, how they will look and what they can do. After the event finally started, my first thoughts were “Is this an advertisement event?”, because in the first 10 minutes they only say you how great the new iPhone and iPod touch are and how many units were already sold. Advertising Event? They also talked a bit about iOS 6 and Mountain Lion, which was kind of boring, because they already announced it, so they don’t have to talk about it again, at least for my opinion. But at some point I can understand them, because normally you are proud at the great things you create and want to show it, so the advertisement wasn’t really as bad as I first thought. Also these advertisements are quite normal for these events, so I really can’t complain and at the end these informations were quite interesting, so I really can’t complain. After that they announced the new iBooks version, in which you know can scroll continuously and the best thing, you have know iCloud sync. But one thing started to bother me a bit : They used way to many adjectives and that seemed to me a bit of distending. But maybe I only noticed it, because I never saw such a event before and I’m pretty sure that that’s quite normal in such events, so I really can’t complain. New Macs Then we finally had a “real new” announcement, the MacBook Pro 13” with Retina Display.   It wasn’t really as special, because everybody already knew that there will be one, but everybody still was excited. I personally also was, but not as much, because that Mac is only a smaller version from the 15” one, so it isn’t really special. Also I’m more a MacBook Air fangirl and I would never change my MacBook Air 13” to a MacBook Pro with Retina display, because it’s so handy and light, but that’s a personal decision of what you like more. But to get back to the topic, I also wasn’t really surprised of the technical infos, because, as I said before, it’s only a smaller 15” MacBook Pro, so it has nearly the exact same technical data. The price didn’t shock me- Ok,1699$ aren’t less money but compared to the 15” version, which costs nearly 2000$, it’s a fair price. AND these two Macs are the only ones in the entire market with a retina display and when you combine all these factors, I would say that that price is (almost) fair, even when it’s a lot of money. The next thing they announced was the new MacMini. And Phil Schiller started the presentation with “You knew that something is going to be called Mini in that presentation, didn’t you?”. I really laughed at that one, never thought that I could laugh at these events. But the new MacMini isn’t really as special, it’s just slightly upgraded to the older MacMini (e.g. USB 3, faster). Then came the iMac and it literally blew my mind. It’s 80%(!) thinner and it also has 75% less reflection. Because of the thinness it looks so much more modern than the last generation. I already were quite impressed by the last iMac, but the last iMac can’t compete with the new one. It literally makes the older iMac look much more older than it really is. Apple did really an amazing job there, really have to say that. A absolutely new and great thing in the new iMac is the “fusion drive”. It combines the “flash” and the “HDD drive” to one. Because of that you don’t have to buy both and choose manually between them, it’s build in automatically and you don’t need to activate it. I have really to admit there that that’s an awesome idea. For people who have really much files, etc. on their Mac need it’s an really awesome option and as I also said before, an awesome idea. [...]]]></description>
				<content:encoded><![CDATA[<p>Hey! My name is Julia Grill also known as <a href="http://www.twitter.com/juliastic">juliastic on Twitter</a> and my nice cousin-in-law offered me to post an article about the lastest Apple keynote on his website. So I hope you don’t judge my English as much, because I come from Austria and I’m still learning it.</p>
<p>I also have a website called <a href="http://www.julialerntios.com">julialerntios.com</a> where I review apps and also want to begin to blog about technical stuff. Right now all the articles are in German, but I’m trying my best to only blog in English anymore.</p>
<p>So, enough from the self-advertisement:</p>
<p>Yesterday, as you probably know, was the Apple keynote. That was generally the first keynote I ever saw, so I was a bit of excited.</p>
<p><span id="more-7156"></span></p>
<div id="more-7156"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>But also I were generally excited, because of the iPad mini and the Mac Book Pro 13” who will be announced, how they will look and what they can do.</p>
<p>After the event finally started, my first thoughts were “Is this an advertisement event?”, because in the first 10 minutes they only say you how great the new iPhone and iPod touch are and how many units were already sold.</p>
<h3>Advertising Event?</h3>
<p>They also talked a bit about iOS 6 and Mountain Lion, which was kind of boring, because they already announced it, so they don’t have to talk about it again, at least for my opinion. But at some point I can understand them, because normally you are proud at the great things you create and want to show it, so the advertisement wasn’t really as bad as I first thought.</p>
<p>Also these advertisements are quite normal for these events, so I really can’t complain and at the end these informations were quite interesting, so I really can’t complain.</p>
<p>After that they announced the new iBooks version, in which you know can scroll continuously and the best thing, you have know iCloud sync. But one thing started to bother me a bit : They used way to many adjectives and that seemed to me a bit of distending. But maybe I only noticed it, because I never saw such a event before and I’m pretty sure that that’s quite normal in such events, so I really can’t complain.</p>
<h3>New Macs</h3>
<p>Then we finally had a “real new” announcement, the MacBook Pro 13” with Retina Display.   It wasn’t really as special, because everybody already knew that there will be one, but everybody still was excited. I personally also was, but not as much, because that Mac is only a smaller version from the 15” one, so it isn’t really special. Also I’m more a MacBook Air fangirl and I would never change my MacBook Air 13” to a MacBook Pro with Retina display, because it’s so handy and light, but that’s a personal decision of what you like more.</p>
<p>But to get back to the topic, I also wasn’t really surprised of the technical infos, because, as I said before, it’s only a smaller 15” MacBook Pro, so it has nearly the exact same technical data.</p>
<p>The price didn’t shock me- Ok,1699$ aren’t less money but compared to the 15” version, which costs nearly 2000$, it’s a fair price. AND these two Macs are the only ones in the entire market with a retina display and when you combine all these factors, I would say that that price is (almost) fair, even when it’s a lot of money.</p>
<p>The next thing they announced was the new MacMini. And Phil Schiller started the presentation with “You knew that something is going to be called Mini in that presentation, didn’t you?”. I really laughed at that one, never thought that I could laugh at these events.</p>
<p>But the new MacMini isn’t really as special, it’s just slightly upgraded to the older MacMini (e.g. USB 3, faster).</p>
<p>Then came the iMac and it literally blew my mind. It’s 80%(!) thinner and it also has 75% less reflection. Because of the thinness it looks so much more modern than the last generation. I already were quite impressed by the last iMac, but the last iMac can’t compete with the new one. It literally makes the older iMac look much more older than it really is. Apple did really an amazing job there, really have to say that.</p>
<p>A absolutely new and great thing in the new iMac is the “fusion drive”. It combines the “flash” and the “HDD drive” to one. Because of that you don’t have to buy both and choose manually between them, it’s build in automatically and you don’t need to activate it. I have really to admit there that that’s an awesome idea. For people who have really much files, etc. on their Mac need it’s an really awesome option and as I also said before, an awesome idea.</p>
<h3>Shocker: iPad 4</h3>
<p>Then they finally announced the new 4th generation iPad. I personally wasn’t all excited about it, because two generations of iPads in one year are a bit too much for normal Apple buying people, at least for my opinion. After that Tim Cook talks a bit about the reason of the success of the iPad and it’s sometimes even funny. He also talks a bit about iAuthor, which features the new update has etc., but, to be honest, this isn’t quite interesting for me.</p>
<p>After that the real iPad announcement finally starts. It’s of course nothing revolutionary, but it’s e.g. twice as fast as the iPad 3 or the HD FaceTime camera and it has also LTE but I didn’t expect anything else from the iPad 4, really nothing special there, except that it’s faster. But Apple doesn’t show how it really looks like, they didn’t compare it with the iPad 3, maybe they look the same, but they really could have done that for my opinion.</p>
<h3>iPad Mini Android Bashing Fun</h3>
<p>And then there was the moment we’ve been all waiting for-the announcement of the iPad mini. At the first look, it reminds me a bit of the iPhone 5-not in a bad way. But also on the 2nd look its design still looks a bit iPhone 5 oriented, which is of course not a bad thing. It’s 23% thinner, it’s also nearly half as light than the “normal” iPad and it has a 7.9” diagonal. It also has a FaceTime HD camera, a dual-core A5 chip and a twice as fast Wi-Fi so it’s ok, but not enormously great.</p>
<p>The only negative aspect of the iPad mini is that it has not a retina display. Of course, when it would have retina it would be much more expensive. Maybe it would be better to have at least an option to have an iPad mini with retina even when it’s more expensive.</p>
<p>But then it gets really funny. They compare the iPad mini with the most sold Android tablet device, that could be only fun. Phil Schiller points out that the iPad mini is better in every single point, which isn’t even lied, it’s e.g. bigger, lighter and it also has a better design or a way bigger web browser sight. He also says that Android tablet applications are not made for a tablet, which I experimented by myself, these applications are really horrible and look terrible, I would really advise you to never buy an Android tablet, but I’m going of topic again.</p>
<p>After another advertisement video they finally tell the starting price of the new iPad mini which is 329$. I didn’t expect it to be so “expensive”, because I read that it may starts about 200$, but I didn&#8217;t really think that it would cost really as less. I personally thought that it maybe would cost about 250$, so that Apple could also compete with the other “cheap” tablets and they would gain much more tablet buyers because of that.</p>
<p>After another ad Tim Cook resumés the year 2012 for Apple and then it’s over. I really have to say that this keynote was really interesting and exciting, it just showed the viewer once again how leading Apple is in their segment and we all hope that the also will be it in the future.</p>
<h3>Conclusion</h3>
<p>So that was how I saw my first live seen Apple keynote. It was a really quite impressive one with many cool announcements and in which Apple showed us once again why they are the best.</p>
<div></div>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7156&amp;md5=4db10376f105c1abb7caf873bba246da" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/10/fresh-perspective-ipad-mini-keynote/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F10%2Ffresh-perspective-ipad-mini-keynote%2F&amp;language=en_GB&amp;category=text&amp;title=Fresh+Perspective+%26%238211%3B+iPad+Mini+Keynote&amp;description=Hey%21+My+name+is+Julia+Grill+also+known+as+juliastic+on+Twitter+and+my+nice+cousin-in-law+offered+me+to+post+an+article+about+the+lastest+Apple+keynote+on+his+website....&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>iOS 6 out now</title>
		<link>http://www.cocoanetics.com/2012/09/ios-6-out-now/</link>
		<comments>http://www.cocoanetics.com/2012/09/ios-6-out-now/#comments</comments>
		<pubDate>Wed, 19 Sep 2012 17:13:44 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7016</guid>
		<description><![CDATA[True to the predictions iOS 6 became available worldwide at exactly 7 pm central European time. The nice guys at istheapplestoredown.de were the first to call it and send out the notification e-mail that you can subscribe to. The first question foremost on every developer&#8217;s mind: is the released version the same as the Gold Master. Hey there, Apple just released the following new iOS Software: iPhone 3GS (iPhone2,1) version 6.0 (Build 10A403), Download iPhone 4 (iPhone3,1) version 6.0 (Build 10A403), Download iPod Touch 4G (iPod4,1) version 6.0 (Build 10A403), Download iPhone 4 (Verizon) (iPhone3,3) version 6.0 (Build 10A403), Download iPad 2 (Wi-Fi) (iPad2,1) version 6.0 (Build 10A403), Download iPad 2 (AT&#38;T) (iPad2,2) version 6.0 (Build 10A403), Download iPad 2 (Verizon) (iPad2,3) version 6.0 (Build 10A403), Download iPhone 4S (iPhone4,1) version 6.0 (Build 10A403), Download iPad2,4 (iPad2,4) version 6.0 (Build 10A403), Download iPad 3 (Wi-Fi) (iPad3,1) version 6.0 (Build 10A403), Download iPad 3 (AT&#38;T) (iPad3,2) version 6.0 (Build 10A403), Download iPad 3 (Verizon) (iPad3,3) version 6.0 (Build 10A403), Download iPhone 4 (AT&#38;T) (iPhone3,2) version 6.0 (Build 10A403), Download iPhone5,1 (iPhone5,1) version 6.0 (Build 10A405), Download iPhone5,2 (iPhone5,2) version 6.0 (Build 10A405), Download iPod5,1 (iPod5,1) version 6.0 (Build 10A406), Download Please feel free to share this email with your friends Thank you for your subscription. How nice that they even mention the build numbers. So I was able to immediately check that against the GM I had installed on my main iPhone 4S and see that it is in fact an identical build number. Only the iPod Touch 5G and the new iPhone 5 models have a slightly higher build number. But since those are new devices nobody outside of Apple would be wondering if they have the really latest version of iOS 6.]]></description>
				<content:encoded><![CDATA[<p>True to the predictions iOS 6 became available worldwide at exactly 7 pm central European time. The nice guys at <a href="http://istheapplestoredown.de/ios">istheapplestoredown.de</a> were the first to call it and send out the notification e-mail that you can subscribe to.</p>
<p>The first question foremost on every developer&#8217;s mind: is the released version the same as the Gold Master.</p>
<p><span id="more-7016"></span></p>
<div id="more-7016"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<blockquote><p>Hey there, Apple just released the following new iOS Software:</p>
<ul>
<ul>
<li><strong>iPhone 3GS</strong> (iPhone2,1) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7173.20120919.sDDMh/iPhone2,1_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPhone 4</strong> (iPhone3,1) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7175.20120919.wvv7Y/iPhone3,1_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPod Touch 4G</strong> (iPod4,1) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-0807.20120919.soT6X/iPod4,1_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPhone 4 (Verizon)</strong> (iPhone3,3) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7179.20120919.bDw4g/iPhone3,3_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPad 2 (Wi-Fi)</strong> (iPad2,1) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-0804.20120919.9SgHU/iPad2,1_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPad 2 (AT&amp;T)</strong> (iPad2,2) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7165.20120919.eZTyh/iPad2,2_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPad 2 (Verizon)</strong> (iPad2,3) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7167.20120919.y2ard/iPad2,3_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPhone 4S</strong> (iPhone4,1) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7181.20120919.lEuOK/iPhone4,1_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPad2,4</strong> (iPad2,4) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-2187.20120919.vmGkW/iPad2,4_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPad 3 (Wi-Fi)</strong> (iPad3,1) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-3515.20120919.OYzOG/iPad3,1_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPad 3 (AT&amp;T)</strong> (iPad3,2) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7161.20120919.5CyjO/iPad3,2_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPad 3 (Verizon)</strong> (iPad3,3) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7163.20120919.19UEI/iPad3,3_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPhone 4 (AT&amp;T)</strong> (iPhone3,2) version <strong>6.0</strong> (Build 10A403), <a href="http://appldnld.apple.com/iOS6/Restore/041-7177.20120919.xqoqs/iPhone3,2_6.0_10A403_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPhone5,1</strong> (iPhone5,1) version <strong>6.0</strong> (Build 10A405), <a href="http://appldnld.apple.com/iOS6/Restore/041-7169.20120919.5Mial/iPhone5,1_6.0_10A405_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPhone5,2</strong> (iPhone5,2) version <strong>6.0</strong> (Build 10A405), <a href="http://appldnld.apple.com/iOS6/Restore/041-7171.20120919.doJ1e/iPhone5,2_6.0_10A405_Restore.ipsw">Download</a></li>
</ul>
</ul>
<ul>
<ul>
<li><strong>iPod5,1</strong> (iPod5,1) version <strong>6.0</strong> (Build 10A406), <a href="http://appldnld.apple.com/iOS6/Restore/041-3517.20120919.9ln3Q/iPod5,1_6.0_10A406_Restore.ipsw">Download</a></li>
</ul>
</ul>
<p>Please feel free to share this email with your friends <img src='http://i1.wp.com/www.cocoanetics.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' data-recalc-dims="1" /><br />
Thank you for your subscription.</p></blockquote>
<p>How nice that they even mention the build numbers. So I was able to immediately check that against the GM I had installed on my main iPhone 4S and see that it is in fact an <strong>identical build number</strong>.</p>
<p>Only the iPod Touch 5G and the new iPhone 5 models have a slightly higher build number. But since those are new devices nobody outside of Apple would be wondering if they have the really latest version of iOS 6.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7016&amp;md5=84fca162029d7381b794c3d51d124109" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/09/ios-6-out-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F09%2Fios-6-out-now%2F&amp;language=en_GB&amp;category=text&amp;title=iOS+6+out+now&amp;description=True+to+the+predictions+iOS+6+became+available+worldwide+at+exactly+7+pm+central+European+time.+The+nice+guys+at%C2%A0istheapplestoredown.de%C2%A0were+the+first+to+call+it+and+send+out+the+notification...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>iPhone 5 Keynote Event</title>
		<link>http://www.cocoanetics.com/2012/09/iphone-5/</link>
		<comments>http://www.cocoanetics.com/2012/09/iphone-5/#comments</comments>
		<pubDate>Wed, 12 Sep 2012 19:04:43 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6981</guid>
		<description><![CDATA[We just witnessed the iPhone 5 launch &#8230;almost live &#8230; at the Runtastic HQ where there was a Cocoahead special event. Let&#8217;s summarize what it means for us developers. Tim Cook called iOS 6 and iPhone 5 the &#8220;biggest thing to happen to the iPhone since iCloud&#8221;. iOS 6 iOS 6 will be released to the general public on September 19th The new panorama mode in the Photo app sherlocks all the panorama stitching apps Passbook does not require any special Apple technology on the servers of the companies that vend passes. That makes it ideally suited for anything from movie to airplane tickets. I&#8217;m hoping that this pushes wide adoption soon and sherlocks all the special apps for carrying individual tickets. Safari now has a full screen mode and thus sherlocks all apps that are providing full screen browsing as their main (or only) feature. Support for the new higher screen is enabled by adding a taller launch image. Here&#8217;s a panorama made with the new panorama feature. It&#8217;s Sherlocked! (my dog is named &#8220;Sherlock Holmes&#8221;) iPhone 5 iPhone 5 will have a taller screen, 4 inch with more pixels. 1136*640 pixels. Release date will be September 21st in the USA. 20 countries a week later, including Austria. if you don&#8217;t change anything in your apps then they will run &#8220;letterboxed&#8221;, with black bars at the top and bottom it will be &#8220;very easy&#8221; to update your app to support the new resolution (see above) The 5th Generation iPod touch will have an A5, touting 7 times performance of predecessor, clearly a play for the mobile console market, especially because it also supports AirPlay mirroring iPhone 3GS will no longer be sold with the iPhone 4 taking its spot as the &#8220;free&#8221; option. iPhone 4S will be the &#8220;cheap&#8221; option with contract. You can forget about using your LTE interchangably between USA and Europe. There are actually 3 models of the iPhone 5 with different frequencies. Also you need a new nano Sim card. Other Stuff No new AppleTV or ability to develop apps for it or iPod Nano. No iPod touch &#8220;maxi&#8221; or iPad &#8220;mini&#8221;. The new earphones called &#8220;EarPods&#8221; look amazing, I&#8217;ll have to order a couple. More details added as they become available. Xcode 4.5 can no longer build for armv6, but instead it adds building for the new A6 CPU under the name &#8220;armv7s&#8221;. This means that if your apps use third party libraries you better include them as source code, preferably as sub-projects. Third party libraries (like Google Analytics) which only come in binary form cannot be used as these are missing armv7s and the Xcode linker is unable to find the armv7s symbols inside them for linking. In other words: you need to wait until the vendor gives you a static library/framework that includes armv7 and armv7s. If you want to make a truly universal &#8220;fat&#8221; static library you have to separately build for i386, armv6 (with Xcode 4.4), armv7 and armv7s and then manually lipo these all together. Another reason why many developers will probably give in and simply retire support for armv6 (and thus iPhone 3G). &#160;]]></description>
				<content:encoded><![CDATA[<p>We just witnessed the iPhone 5 launch &#8230;almost live &#8230; at the Runtastic HQ where there was a Cocoahead special event. Let&#8217;s summarize what it means for us developers.</p>
<p>Tim Cook called iOS 6 and iPhone 5 the &#8220;biggest thing to happen to the iPhone since iCloud&#8221;.</p>
<p><span id="more-6981"></span></p>
<div id="more-6981"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p><strong>iOS 6</strong></p>
<ul>
<li>iOS 6 will be released to the general public on September 19th</li>
<li>The new panorama mode in the Photo app sherlocks all the panorama stitching apps</li>
<li>Passbook does not require any special Apple technology on the servers of the companies that vend passes. That makes it ideally suited for anything from movie to airplane tickets. I&#8217;m hoping that this pushes wide adoption soon and sherlocks all the special apps for carrying individual tickets.</li>
<li>Safari now has a full screen mode and thus sherlocks all apps that are providing full screen browsing as their main (or only) feature.</li>
<li>Support for the new higher screen is enabled by <a href="https://devforums.apple.com/message/726697">adding a taller launch image</a>.</li>
</ul>
<p>Here&#8217;s a panorama made with the new panorama feature. It&#8217;s Sherlocked! (my dog is named &#8220;Sherlock Holmes&#8221;)</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/IMG_1538.jpg"><img class="alignnone  wp-image-6994" title="Sherlock Holms, my dog" src="http://i2.wp.com/www.cocoanetics.com/files/IMG_1538.jpg?resize=819%2C177" alt="" data-recalc-dims="1" /></a></p>
<p><strong>iPhone 5</strong></p>
<ul>
<li>iPhone 5 will have a taller screen, 4 inch with more pixels. 1136*640 pixels.</li>
<li>Release date will be September 21st in the USA. 20 countries a week later, including Austria.</li>
<li>if you don&#8217;t change anything in your apps then they will run &#8220;letterboxed&#8221;, with black bars at the top and bottom</li>
<li>it will be &#8220;very easy&#8221; to update your app to support the new resolution (see above)</li>
<li>The 5th Generation iPod touch will have an A5, touting 7 times performance of predecessor, clearly a play for the mobile console market, especially because it also supports AirPlay mirroring</li>
<li>iPhone 3GS will no longer be sold with the iPhone 4 taking its spot as the &#8220;free&#8221; option. iPhone 4S will be the &#8220;cheap&#8221; option with contract.</li>
<li>You can forget about using your LTE interchangably between USA and Europe. There are actually <a href="http://www.apple.com/iphone/LTE/">3 models of the iPhone 5</a> with different frequencies.</li>
<li>Also you need a <a href="http://www.engadget.com/2012/09/12/iphone-5-confirmed-to-use-nano-sim-current-sims-not-compatible/">new nano Sim</a> card.</li>
</ul>
<p><strong>Other Stuff</strong></p>
<ul>
<li>No new AppleTV or ability to develop apps for it or iPod Nano.</li>
<li>No iPod touch &#8220;maxi&#8221; or iPad &#8220;mini&#8221;.</li>
<li>The new earphones called &#8220;EarPods&#8221; look amazing, I&#8217;ll have to order a couple.</li>
</ul>
<p>More details added as they become available.</p>
<p>Xcode 4.5 can no longer <a title="Softly Killing iPhone 3G" href="http://www.cocoanetics.com/2012/08/softly-killing-iphone-3g/">build for armv6</a>, but instead it adds building for the new A6 CPU under the name &#8220;armv7s&#8221;. This means that if your apps use third party libraries you better include them as source code, preferably as <a title="Sub-Projects in Xcode" href="http://www.cocoanetics.com/2011/12/sub-projects-in-xcode/">sub-projects</a>. Third party libraries (like Google Analytics) which only come in binary form cannot be used as these are missing armv7s and the Xcode linker is unable to find the armv7s symbols inside them for linking. In other words: you need to wait until the vendor gives you a static library/framework that includes armv7 and armv7s.</p>
<p>If you want to make a truly universal &#8220;fat&#8221; static library you have to separately build for i386, armv6 (with Xcode 4.4), armv7 and armv7s and then manually lipo these all together. Another reason why many developers will probably give in and simply retire support for armv6 (and thus iPhone 3G).</p>
<p>&nbsp;</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6981&amp;md5=b0148a2b87b69f5be484b1bc2e5ec370" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/09/iphone-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F09%2Fiphone-5%2F&amp;language=en_GB&amp;category=text&amp;title=iPhone+5+Keynote+Event&amp;description=We+just+witnessed+the+iPhone+5+launch+%26%238230%3Balmost+live+%26%238230%3B+at+the+Runtastic+HQ+where+there+was+a+Cocoahead+special+event.+Let%26%238217%3Bs+summarize+what+it+means+for+us+developers.+Tim...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Great Apple Support</title>
		<link>http://www.cocoanetics.com/2012/08/great-apple-support/</link>
		<comments>http://www.cocoanetics.com/2012/08/great-apple-support/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 08:28:23 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6940</guid>
		<description><![CDATA[I have a collection of all iOS ever made, all iPhones, all iPod Touches, of course the iPads. I call it &#8220;my museum&#8221;. Though only the oldest are actually on display since the newer one are all in use. Of the iPhone 4S I even have 3 in active use, though when all my users will have moved on, I&#8217;ll sell away all but one to also take its honorary position. My 3GS was in use by my Cousin-in-law who I am sponsoring to interest her in a career in tech. She&#8217;s got a website where she does iOS tutorials as well as app reviews. So I am seeing that &#8211; however far &#8211; related to my business and thus can justify the expense. It greatly pained me when I learned that the volume button had jumped off the device. &#8220;Dropped? Me?! NEVER!&#8221; Thankfully I was able to get it restored to better-than-before mint-ness. This is how. The first thing I checked was iFixit for an idea as to how much effort it would be to replace the volume rocker. 4 pages, difficulty &#8220;moderate&#8221;, but I gave up (reading) when I got to step 16 which employs a hair dryer to separate the battery from the back case. Pass! While the parts and needed materials would have been around $20, even an expert would probably have taken around 1-2 hours and still risking irreparable damage to the phone. Next I called a Mac repair shop in Vienna and inquired about the costs for the repair. Turns out they cannot get just the volume button because on the 3GS everything is mounted onto the back case. That&#8217;s spare part can be gotten for €95. Add to that some expert screwing time and you again end up in the hundreds. Finally I called Apple. Apple have a fabulous repair policy. For €124,17 (excl. VAT) you can get any iPhone repaired. Devices covered by AppleCare probably cost less or nothing, but my 3GS never had AppleCare. Even if it did, it would have long been expired. They send UPS to pick up the device and assess the damage in a central service center. If there&#8217;s any damage that cannot be easily fixed they instead will return a refurbished device. In my case exactly the same model: 32 GB, black, 3GS, no simlock. The damage on the 3GS was all around. There was a crack on the back case, some damage on the front bottom bezel and of course the missing volume rocker. No way that this could have been repaired, so I got a &#8220;new&#8221; 3GS. Apple informed me to this effect by sending me an e-mail with the old and new IMEI of the device. The next happenstance after my phone call was that a UPS driver came to pick up the device as it was. No need to even pack it or anything. The whole process keeps you informed to a fault. You get emails and tracking information and so I was able to follow my device all the way to Eindhoven in the Netherlands and the new one back. You get email notifications every step of the way and there&#8217;s an online link where you can also see the current status of the repair. I ordered the repair on August 20th, a Monday. Two days later the 3GS arrived at the service center. One day after that the replacement phone was shipped back and it arrived August 24th. 4 days total must be some sort of world record for a phone repair. The refurbished device came in a nice box and had a protective film on front and back. This made the receiving of it an unboxing experience by itself. Isn&#8217;t that really cool? I am extremely happy with this kind of service because getting an iPhone 3GS in good condition (even on eBay) still would have cost at least twice as much. Of course you cannot expect them to have devices in stock for devices that have gone out of fashion too long ago, but I assume that all devices still being supported by iOS 6 will be available. Overall I give highest marks to Apple for providing such an awesome repair experience. Which is even cheap compared with the cost of buying a replacement device for my collection. Those are the kinds of experiences that make you proud to be working with Apple&#8217;s platforms.]]></description>
				<content:encoded><![CDATA[<p>I have a collection of all iOS ever made, all iPhones, all iPod Touches, of course the iPads. I call it &#8220;my museum&#8221;. Though only the oldest are actually on display since the newer one are all in use. Of the iPhone 4S I even have 3 in active use, though when all my users will have moved on, I&#8217;ll sell away all but one to also take its honorary position.</p>
<p>My 3GS was in use by my <a href="http://www.julialerntios.com">Cousin-in-law</a> who I am sponsoring to interest her in a career in tech. She&#8217;s got a website where she does iOS tutorials as well as app reviews. So I am seeing that &#8211; however far &#8211; related to my business and thus can justify the expense. It greatly pained me when I learned that the volume button had jumped off the device. &#8220;Dropped? Me?! NEVER!&#8221;</p>
<p>Thankfully I was able to get it restored to better-than-before mint-ness. This is how.</p>
<p><span id="more-6940"></span></p>
<div id="more-6940"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>The first thing I checked was iFixit for an idea as to <a href="http://www.ifixit.com/Guide/Installing-iPhone-3GS-Volume-Button/4490/1">how much effort</a> it would be to replace the volume rocker. 4 pages, difficulty &#8220;moderate&#8221;, but I gave up (reading) when I got to step 16 which employs a hair dryer to separate the battery from the back case. Pass! While the parts and needed materials would have been around $20, even an expert would probably have taken around 1-2 hours and still risking irreparable damage to the phone.</p>
<p>Next I called a Mac repair shop in Vienna and inquired about the costs for the repair. Turns out they cannot get just the volume button because on the 3GS everything is mounted onto the back case. That&#8217;s spare part can be gotten for €95. Add to that some expert screwing time and you again end up in the hundreds.</p>
<p>Finally I called Apple.</p>
<p>Apple have a fabulous repair policy. For €124,17 (excl. VAT) you can get any iPhone repaired. Devices covered by AppleCare probably cost less or nothing, but my 3GS never had AppleCare. Even if it did, it would have long been expired.</p>
<p>They send UPS to pick up the device and assess the damage in a central service center. If there&#8217;s any damage that cannot be easily fixed they instead will return a refurbished device. In my case exactly the same model: 32 GB, black, 3GS, no simlock.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/IMG_1499.jpg"><img class="alignnone  wp-image-6941" title="iPhone Repairable Damage Charge" src="http://i1.wp.com/www.cocoanetics.com/files/IMG_1499.jpg?resize=614%2C461" alt="" data-recalc-dims="1" /></a></p>
<p>The damage on the 3GS was all around. There was a crack on the back case, some damage on the front bottom bezel and of course the missing volume rocker. No way that this could have been repaired, so I got a &#8220;new&#8221; 3GS. Apple informed me to this effect by sending me an e-mail with the old and new IMEI of the device.</p>
<p>The next happenstance after my phone call was that a UPS driver came to pick up the device as it was. No need to even pack it or anything.</p>
<p>The whole process keeps you informed to a fault. You get emails and tracking information and so I was able to follow my device all the way to Eindhoven in the Netherlands and the new one back. You get email notifications every step of the way and there&#8217;s an online link where you can also see the current status of the repair.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-08-27-at-10.10.22-AM.png"><img class="alignnone  wp-image-6942" title="Repair Status" src="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-08-27-at-10.10.22-AM.png?resize=582%2C450" alt="" data-recalc-dims="1" /></a></p>
<p>I ordered the repair on August 20th, a Monday. Two days later the 3GS arrived at the service center. One day after that the replacement phone was shipped back and it arrived August 24th. 4 days total must be some sort of world record for a phone repair.</p>
<p>The refurbished device came in a nice box and had a protective film on front and back. This made the receiving of it an unboxing experience by itself. Isn&#8217;t that really cool?</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/IMG_1476.jpg"><img class="alignnone  wp-image-6944" title="Refurb Box" src="http://i2.wp.com/www.cocoanetics.com/files/IMG_1476.jpg?resize=614%2C819" alt="" data-recalc-dims="1" /></a></p>
<p>I am extremely happy with this kind of service because getting an iPhone 3GS in good condition (even on eBay) still would have cost at least twice as much. Of course you cannot expect them to have devices in stock for devices that have gone out of fashion too long ago, but I assume that all devices still being supported by iOS 6 will be available.</p>
<p>Overall I give highest marks to Apple for providing such an awesome repair experience. Which is even cheap compared with the cost of buying a replacement device for my collection. Those are the kinds of experiences that make you proud to be working with Apple&#8217;s platforms.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6940&amp;md5=f5a964c052f25fcbbd9fcbc5caa3cc15" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/08/great-apple-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F08%2Fgreat-apple-support%2F&amp;language=en_GB&amp;category=text&amp;title=Great+Apple+Support&amp;description=I+have+a+collection+of+all+iOS+ever+made%2C+all+iPhones%2C+all+iPod+Touches%2C+of+course+the+iPads.+I+call+it+%26%238220%3Bmy+museum%26%238221%3B.+Though+only+the+oldest+are+actually+on...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>NOT a Radar: Missing IR Remote Settings</title>
		<link>http://www.cocoanetics.com/2012/08/not-a-radar-missing-ir-remote-settings/</link>
		<comments>http://www.cocoanetics.com/2012/08/not-a-radar-missing-ir-remote-settings/#comments</comments>
		<pubDate>Fri, 24 Aug 2012 12:45:45 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6932</guid>
		<description><![CDATA[I was about to file a second Radar from out latest AirPlay Experiments. When I was remote-controlling the AppleTV my colleague complained that stray radiation was also changing his speaker volume. When we looked at his Security Settings we couldn&#8217;t find the settings to disable IR. But the solution was not to file a Radar and proceed to sulking. The problem lay in my own ballpark. Turns out that it was not Apple&#8217;s fault, but mine. I apparently had experimented with a third party driver for the Apple Remote. You would have used that &#8211; at least in the past &#8211; if apps like Plex wouldn&#8217;t play nicely with the normal Apple Remote we used to be getting bundled with iMacs. IOSpirit offers a fully fledged &#8220;remote control solution&#8221; via their Remote Buddy app, available for purchase on their website. If all you want is the driver this app uses you can also use Candelair. Both use the same driver, but the latter is only the driver plus a prefpane. Even though I don&#8217;t remember ever installing Candelair on my iMac it was there. In /System/Library/Extensions the kernel extension for it was RBIOKitHelper.kext. Mine as old as October 2011, of course no longer compatible with Mountain Lion. There are three methods to fix this: Remove the kext, reboot Download the Candelair installer, install the prefpane. Then uninstall it via the Uninstall option there. Install Candelair, update the driver via the prefpane. Keep using it. Since the two iMacs are only used in our office we have no need for the IR anyway, so I performed option 1 and 2 on those and just disabled the port. Strangely it seems that somehow this kernel extension had been spreading like a virus onto even a brand new 13&#8243; MacBook Air. This computer&#8217;s user data had been transferred from previous Macs of mine. I wasn&#8217;t aware that kexts also get moved, but apparently they do. Though this computer didn&#8217;t have the settings appear even after removing the kext, for the simple reason of newer Airs not having an IR port. For comparison, my mid 2011 iMac still has a port as you can see in the System Report USB section. Apple decided some time ago that certain classes of laptops have no use for an IR Receiver. A support document about the Apple Remote control mentions the free Remote app as the alternative of choice for people who still require it. It&#8217;s a little bit funny: this way Apple manages to even migrate people&#8217;s remote controls onto iOS.]]></description>
				<content:encoded><![CDATA[<p>I was about to file a second Radar from out <a title="Radar: AirPlay broken if only connected display is VNC" href="http://www.cocoanetics.com/2012/08/radar-airplay-broken-if-only-connected-display-is-vnc/">latest AirPlay Experiments</a>. When I was remote-controlling the AppleTV my colleague complained that stray radiation was also changing his speaker volume. When we looked at his Security Settings we couldn&#8217;t find the settings to disable IR.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-08-24-at-1.25.44-PM.png"><img class="alignnone  wp-image-6933" title="Missing IR Security Settings" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-08-24-at-1.25.44-PM.png?resize=469%2C382" alt="" data-recalc-dims="1" /></a></p>
<p>But the solution was not to file a Radar and proceed to sulking. The problem lay in my own ballpark.</p>
<p><span id="more-6932"></span></p>
<div id="more-6932"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Turns out that it was not Apple&#8217;s fault, but mine. I apparently had experimented with a third party driver for the Apple Remote. You would have used that &#8211; at least in the past &#8211; if apps like Plex wouldn&#8217;t play nicely with the normal Apple Remote we used to be getting bundled with iMacs.</p>
<p>IOSpirit offers a fully fledged &#8220;remote control solution&#8221; via their <a href="http://www.iospirit.com/products/remotebuddy/">Remote Buddy</a> app, available for purchase on their website. If all you want is the driver this app uses you can also use <a href="http://www.iospirit.com/labs/candelair/">Candelair</a>. Both use the same driver, but the latter is only the driver plus a prefpane.</p>
<p>Even though I don&#8217;t remember ever installing Candelair on my iMac it was there. In /System/Library/Extensions the kernel extension for it was RBIOKitHelper.kext. Mine as old as October 2011, of course no longer compatible with Mountain Lion.</p>
<p>There are three methods to fix this:</p>
<ol>
<li>Remove the kext, reboot</li>
<li>Download the Candelair installer, install the prefpane. Then uninstall it via the Uninstall option there.</li>
<li>Install Candelair, update the driver via the prefpane. Keep using it.</li>
</ol>
<p>Since the two iMacs are only used in our office we have no need for the IR anyway, so I performed option 1 and 2 on those and just disabled the port.</p>
<p>Strangely it seems that somehow this kernel extension had been spreading like a virus onto even a brand new 13&#8243; MacBook Air. This computer&#8217;s user data had been transferred from previous Macs of mine. I wasn&#8217;t aware that kexts also get moved, but apparently they do. Though this computer didn&#8217;t have the settings appear even after removing the kext, for the simple reason of newer Airs not having an IR port.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/PastedGraphic-1.png"><img class="alignnone size-full wp-image-6934" title="No IR Port in 2012 Air" src="http://i2.wp.com/www.cocoanetics.com/files/PastedGraphic-1.png?resize=640%2C366" alt="" data-recalc-dims="1" /></a></p>
<p>For comparison, my mid 2011 iMac still has a port as you can see in the System Report USB section.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-08-24-at-2.40.02-PM.png"><img class="alignnone  wp-image-6935" title="iMac has IR Port" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-08-24-at-2.40.02-PM.png?resize=536%2C410" alt="" data-recalc-dims="1" /></a></p>
<p>Apple decided some time ago that certain classes of laptops have no use for an IR Receiver. A <a href="http://support.apple.com/kb/HT1522">support document about the Apple Remote control</a> mentions the <a href="http://www.apple.com/itunes/remote/">free Remote app</a> as the alternative of choice for people who still require it. It&#8217;s a little bit funny: this way Apple manages to even migrate people&#8217;s remote controls onto iOS.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6932&amp;md5=a73305d13f152fb457ed77d7237ed738" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/08/not-a-radar-missing-ir-remote-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F08%2Fnot-a-radar-missing-ir-remote-settings%2F&amp;language=en_GB&amp;category=text&amp;title=NOT+a+Radar%3A+Missing+IR+Remote+Settings&amp;description=I+was+about+to+file+a+second+Radar+from+out+latest+AirPlay+Experiments.+When+I+was+remote-controlling+the+AppleTV+my+colleague+complained+that+stray+radiation+was+also+changing+his+speaker...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Softly Killing iPhone 3G</title>
		<link>http://www.cocoanetics.com/2012/08/softly-killing-iphone-3g/</link>
		<comments>http://www.cocoanetics.com/2012/08/softly-killing-iphone-3g/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 12:10:40 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6780</guid>
		<description><![CDATA[The latest version that ever ran on the iPhone 3G was iOS 4.2.1, but even though iOS 4 brought multi-tasking to the platform the iPhone 3G never got that. The iPhone 3G had been introduced in June 2008 with 16 and 8 GB capacities. Of these the 16 GB was discontinued after 1 year while Apple kept the 8 GB model around as the cheaper iPhone. This was discontinued on June 4, 2010 when the iPhone 3GS took its place as the &#8220;cheap one&#8221; while the iPhone 4 became the &#8220;current model&#8221;. Long story short: The iPhone 3G has been discontinued 2 years ago. But there is also a technical reason why 2012 will be the final nail in the coffin that buries the iPhone 3G: The deprecation of armv6. The discontinuation of support for armv6 has been already a year in the making. In Xcode 4.3 Apple had already removed the armv6 setting from the ARCHS_STANDARD_32_BIT, that was strike one. I argue by accident because at that time you still had to submit so-called &#8220;fat binaries&#8221; that have compiled code for armv6 and armv7 in the same file. From that point on you had to manually add the armv6 setting to the Architectures in Build Settings. Apple didn&#8217;t bother with this oversight because there&#8217;s a simple workaround and since armv6 deprecation was on their roadmap for a long time. And everybody had to remember to add this setting for any project or sub-project to be able to build app store legal apps. The second strike was with the 7th and final preview version of Xcode 4.4, build  4F243, where &#8211; another incident of overzealousness? &#8211; the ARClite library was missing the armv6 binary causing the following linker warning: ld: warning: ignoring file /Applications/Xcode44-DP7.app/Contents/Developer/Toolchains/ XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a, file was built for archive which is not the architecture being linked (armv6): /Applications/Xcode44-DP7.app/Contents/Developer/Toolchains/ XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a You would see this warning if your project contained ARC either in the main project or in any of its sup-projects because this is the situation where Xcode needs to add the ARC Lite static library. I guess that this library is needed to support ARC on iOS 4 devices. This was an actual bug. Fortunately Apple saw the error in their ways and fixed this in the released version of Xcode 4.4, build 4F250 which is the one that&#8217;s now on the app store. If they hadn&#8217;t done so then there would have been no way to build for armv6 on Mountain Lion because Xcode 4.3 no longer runs on this. Everybody is anxious to upgrade their shiny new Macs and thus this would have been a major pain in the backside. There is a support document which outlines the third strike: As of 4.5, Xcode no longer supports building armv6 code, or working with armv6 devices and does not support below iOS 4.3. As they say, &#8220;three strikes and you&#8217;re out&#8221;. What are those armv6 and armv7 devices anyway? I find it hard to remember myself which devices were able to support the armv6 and armv7 instruction sets. Especially because some devices actually support both, namely all armv7 CPUs are backwards compatible. But of course if your app binary has both versions compiled in then the armv7 CPUs will only use the variant optimized for them. Fortunately there is the iTunes Connect Developer Guide: Appendix C: Device Compatibility Matrix. This tells us that that these are all the devices that didn&#8217;t support armv7: iPod Touch 1st Gen (max iOS 3.1.3) iPod Touch 2nd Gen (max iOS 4.2.1) iPhone (max iOS 3.1.3) iPhone 3G (max iOS 4.2.1) All newer devices support armv7 and can also run iOS 5. So by the time iOS 6 ships (and you will switch to Xcode 4.5) you have no reason to keep supporting iOS 4, even though technically you could still target iPod Touch 3rd Gen and iPhone 3GS running iOS as low as 4.3. But who in his right mind doesn&#8217;t use the iCloud-sweetness available for free with iOS 5? Won&#8217;t we miss out on many existing iPhones that are now no longer supported? Well, Apple does not publish exact numbers of how many iPhone 3G had been sold in comparison with other devices. But out of scientific curiosity let&#8217;s do a rough estimate. Apple did publish the worldwide iPhone sales by fiscal quarter, with the year and first quarter starting around September 25th. Those are Apple&#8217;s worldwide iPhone sales by fiscal quarters. So the iPhone 3G was the main iPhone roughly from Q1 2008 until Q4 2009. This is really REALLY rough estimating, but we get an appreciation for the orders of magnitude in difference. This pretends that there never was a cheaper &#8220;free&#8221; model and only assumes that Q1-Q4 capture one model. You can see that in some quarters the was a reduction [...]]]></description>
				<content:encoded><![CDATA[<p>The latest version that ever ran on the iPhone 3G was iOS 4.2.1, but even though iOS 4 brought multi-tasking to the platform the iPhone 3G never got that. The iPhone 3G had been introduced in June 2008 with 16 and 8 GB capacities. Of these the 16 GB was discontinued after 1 year while Apple kept the 8 GB model around as the cheaper iPhone. This was discontinued on June 4, 2010 when the iPhone 3GS took its place as the &#8220;cheap one&#8221; while the iPhone 4 became the &#8220;current model&#8221;.</p>
<p><a href="http://en.wikipedia.org/wiki/IPhone">Long story</a> short: The iPhone 3G has been discontinued 2 years ago. But there is also a technical reason why 2012 will be the final nail in the coffin that buries the iPhone 3G: The deprecation of <strong>armv6</strong>.</p>
<p><span id="more-6780"></span></p>
<div id="more-6780"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>The discontinuation of support for armv6 has been already a year in the making. In Xcode 4.3 Apple had already removed the armv6 setting from the ARCHS_STANDARD_32_BIT, that was<strong> strike one.</strong> I argue by accident because at that time you still had to submit so-called &#8220;fat binaries&#8221; that have compiled code for armv6 and armv7 in the same file. From that point on you had to manually add the armv6 setting to the Architectures in Build Settings.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-08-07-um-12.37.44-PM.png"><img class="alignnone size-full wp-image-6783" title="Adding armv6" src="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-08-07-um-12.37.44-PM.png?resize=557%2C177" alt="" data-recalc-dims="1" /></a></p>
<p>Apple didn&#8217;t bother with this oversight because there&#8217;s a simple workaround and since armv6 deprecation was on their roadmap for a long time. And everybody had to remember to add this setting for any project or sub-project to be able to build app store legal apps.</p>
<p>The <strong>second strike</strong> was with the 7th and final preview version of Xcode 4.4, build  4F243, where &#8211; another incident of overzealousness? &#8211; the ARClite library was missing the armv6 binary causing the following linker warning:</p>
<pre>ld: warning: ignoring file /Applications/Xcode44-DP7.app/Contents/Developer/Toolchains/
XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a, 
file was built for archive which is not the architecture being linked (armv6): 
/Applications/Xcode44-DP7.app/Contents/Developer/Toolchains/
XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a</pre>
<p>You would see this warning if your project contained ARC either in the main project or in any of its sup-projects because this is the situation where Xcode needs to add the ARC Lite static library. I guess that this library is needed to support ARC on iOS 4 devices.</p>
<p>This was an <a href="http://openradar.appspot.com/11889190">actual bug</a>. Fortunately Apple saw the error in their ways and fixed this in the released version of Xcode 4.4, build 4F250 which is the one that&#8217;s now on the app store. If they hadn&#8217;t done so then there would have been no way to build for armv6 on Mountain Lion because Xcode 4.3 no longer runs on this. Everybody is anxious to upgrade their shiny new Macs and thus this would have been a major pain in the backside.</p>
<p>There is a <a href="https://discussions.apple.com/docs/DOC-3461">support document</a> which outlines the <strong>third strike</strong>:</p>
<blockquote><p>As of 4.5, Xcode no longer supports building armv6 code, or working with armv6 devices and does not support below iOS 4.3.</p></blockquote>
<p><em>As they <a href="http://en.wikipedia.org/wiki/Three_strikes_law">say</a>, &#8220;three strikes and you&#8217;re out&#8221;.</em></p>
<h3>What are those armv6 and armv7 devices anyway?</h3>
<p>I find it hard to remember myself which devices were able to support the armv6 and armv7 instruction sets. Especially because some devices actually support both, namely all armv7 CPUs are backwards compatible. But of course if your app binary has both versions compiled in then the armv7 CPUs will only use the variant optimized for them.</p>
<p>Fortunately there is the <a href="http://developer.apple.com/library/ios/#documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/C_DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html#//apple_ref/doc/uid/TP40011225-CH17-SW1">iTunes Connect Developer Guide: Appendix C: Device Compatibility Matrix</a>.</p>
<p>This tells us that that these are all the devices that didn&#8217;t support armv7:</p>
<ul>
<li>iPod Touch 1st Gen (max iOS 3.1.3)</li>
<li>iPod Touch 2nd Gen (max iOS 4.2.1)</li>
<li>iPhone (max iOS 3.1.3)</li>
<li>iPhone 3G (max iOS 4.2.1)</li>
</ul>
<p>All newer devices support armv7 and can also run iOS 5. So by the time iOS 6 ships (and you will switch to Xcode 4.5) you have no reason to keep supporting iOS 4, even though <em>technically</em> you could still target iPod Touch 3rd Gen and iPhone 3GS running iOS as low as 4.3. But who in his right mind doesn&#8217;t use the iCloud-sweetness available for free with iOS 5?</p>
<h3>Won&#8217;t we miss out on many existing iPhones that are now no longer supported?</h3>
<p>Well, Apple does not publish exact numbers of how many iPhone 3G had been sold in comparison with other devices. But out of scientific curiosity let&#8217;s do a rough estimate. Apple did publish the worldwide iPhone sales by fiscal quarter, with the year and first quarter starting around September 25th.</p>
<p>Those are Apple&#8217;s worldwide iPhone sales by fiscal quarters.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/3f55f5e15eb5a3f125a4ac611caa9245.png"><img class="alignnone size-full wp-image-6785" title="3f55f5e15eb5a3f125a4ac611caa9245" src="http://i1.wp.com/www.cocoanetics.com/files/3f55f5e15eb5a3f125a4ac611caa9245.png?resize=270%2C360" alt="" data-recalc-dims="1" /></a></p>
<p>So the iPhone 3G was the main iPhone roughly from Q1 2008 until Q4 2009. This is really REALLY rough estimating, but we get an appreciation for the orders of magnitude in difference. This pretends that there never was a cheaper &#8220;free&#8221; model and only assumes that Q1-Q4 capture one model. You can see that in some quarters the was a reduction in sales as people anticipated the next iPhone.</p>
<ul>
<li>iPhone (until Q4 2008): 13 Mio</li>
<li>iPhone 3G (until Q4 2009): 21 Mio</li>
<li>iPhone 3GS (until Q4 2010): 40 Mio</li>
<li>iPhone 4 (until Q4 2011): 72 Mio</li>
<li>iPhone 4S (until Q4 2012): probably over 124 Mio</li>
</ul>
<p>43 Million armv6 iPhones versus 236 Million armv7 iPhones. So by my estimate of all iPhones that would have been sold by Fall 2012 the armv6 models account for <strong>15%</strong>. This is a best case number.</p>
<p>BUT, assuming that most people are getting a new iPhone every 2 years with contract we can assume that only a fraction of these devices is still in use. The latest date that you could have gotten a subsidized iPhone 3G was in June 2010, over two years ago. Though I don&#8217;t see any good reason why somebody would have preferred the 3G over the then-new 3GS model.</p>
<h3>Conclusion</h3>
<p>The iPhone 3G holds a special place in our hearts since it was the second generation of a revolutionary device and the first that added high speed cellular data. But as technology progresses there must come a time when the iPhone 3G has well deserved its retirement.</p>
<p>Apple thinks so too and has sealed its fate in three strikes as outlined above. iOS 6 will no longer run on armv6 hardware and also Xcode 4.5 will no longer be able to build for iPhone 3G. Retiring support for it means good riddance to the last iOS device that didn&#8217;t support multi-tasking.</p>
<p><em>May the iPhone 3G rest in piece.</em></p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6780&amp;md5=648f045176ed9d85f7d56584609fee00" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/08/softly-killing-iphone-3g/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F08%2Fsoftly-killing-iphone-3g%2F&amp;language=en_GB&amp;category=text&amp;title=Softly+Killing+iPhone+3G&amp;description=The+latest+version+that+ever+ran+on+the+iPhone+3G+was+iOS+4.2.1%2C+but+even+though+iOS+4+brought+multi-tasking+to+the+platform+the+iPhone+3G+never+got+that.+The...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Before Renewing Your Membership &#8230;</title>
		<link>http://www.cocoanetics.com/2012/07/before-renewing-your-membership/</link>
		<comments>http://www.cocoanetics.com/2012/07/before-renewing-your-membership/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 13:03:19 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6738</guid>
		<description><![CDATA[The month before your membership in the iOS Developer program expires Apple begins to gently remind you that renewal is coming up. If you don&#8217;t want to experience an &#8220;interruption in service&#8221; you better renew as soon as possible. There are however a few gotchas that I&#8217;d like to point out to you &#8230; watch your provisioned devices as well as your DTS tickets! As an individual or company developer you can register up to 100 devices per year for development purposes. While you register devices (manually or through Xcode) the counter counts down from 100 to 0. You can see the current number of this counter on the iOS Provisioning Portal. Those devices begin to pile up over time and by your second or third year of doing iOS development you might find that you are approaching the limit of new devices that you can add. Even removing them does not increase the counter. It is only when you renew your program that this gets set back to 100. Step 1: Remove as many of the devices from the list of registered devices as you can. You probably have tons of devices of your clients in there that had been used for testing apps which have long since been published to the app store. Also there might be many devices that you don&#8217;t actually own any more or have handed off to your relatives when you got the latest and greatest new Apple device for your own (and for &#8220;testing purposes&#8221;) use. After your renewal got activated (seems to be a manual process that takes some time) the remaining device counter should snap back to 100. This is actually the first time that I am closely watching this number myself because in previous years I had been sufficiently far away from not being able to add new devices. Step 2: Find some good uses for your Technical Support Incidents Your year of program membership also comes with 2 tech inquiries. You can see the available amount and history for each of the developer programs you are a member of in the Member Center. Both the Mac and the iOS programs afford you with 2 such incidents. Those incidents are really fabulous, often they are even more valuable than speaking to an engineer at WWDC. I had a very enjoyable experience with the very incident I sent in November 2010. At that time I wanted to know how to animate in a date picker over a table view to enter a date. Within a few days I had gotten an answer of sorts and the solution even ended up in the developer samples. Apple describes the services such: The Apple Developer Technical Support (DTS) team is made up of highly qualified engineers with development expertise in key Apple technologies. Whether you need direct one-on-one support troubleshooting issues, hands-on assistance to accelerate a project, or helpful guidance to the right documentation and sample code, Apple engineers are ready to help you. You can also file tech incidents if you are not sure if the problem is in Apple&#8217;s code or in your own. If the fault lies with Apple then they will credit back the incident to your balance. I filed two new cases this week, both with good chances of them actually being Apple bugs. When you renew your program tech incidents from the previous year are lost and you end up with 2. Nobody can save these up for a better use. Of course you can always BUY MORE. The 2-Pack costs 79 Euros at present which is more than you paid for the membership. The point that I am trying to make here is that these incidents are a valuable and perishable good that you should not let go to waste. Use them for anything that you always wanted to have an Apple engineer explain to you. There is one more thing that I am trying to test this year. We sent off two iOS incidents and then I purchased the program extension. I am interested to find out this: if it turns out that one of the cases is an Apple bug and I get it credited back, will I then end up with a higher number of incidents for next year? Conclusion Cases you don&#8217;t use will perish and not removed devices will bog down your list. Before renewing your developer program you should clean up your provisioned devices as well as make use of your tech incidents. Because these things are not immediately obvious I think they constitute good advice.]]></description>
				<content:encoded><![CDATA[<p>The month before your membership in the iOS Developer program expires Apple begins to gently remind you that renewal is coming up. If you don&#8217;t want to experience an &#8220;interruption in service&#8221; you better renew as soon as possible.</p>
<p><a href="http://i0.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.09.42-PM.png"><img class="alignnone  wp-image-6739" title="Developer Program Expiry" src="http://i0.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.09.42-PM.png?resize=617%2C79" alt="" data-recalc-dims="1" /></a></p>
<p>There are however a few gotchas that I&#8217;d like to point out to you &#8230; watch your provisioned devices as well as your DTS tickets!</p>
<p><span id="more-6738"></span></p>
<div id="more-6738"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>As an individual or company developer you can register up to 100 devices per year for development purposes. While you register devices (manually or through Xcode) the counter counts down from 100 to 0. You can see the current number of this counter on the <a href="https://developer.apple.com/ios/manage/devices/index.action">iOS Provisioning Portal</a>.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.21.20-PM.png"><img class="alignnone  wp-image-6740" title="iOS Provisioning Portal" src="http://i1.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.21.20-PM.png?resize=600%2C301" alt="" data-recalc-dims="1" /></a></p>
<p>Those devices begin to pile up over time and by your second or third year of doing iOS development you might find that you are approaching the limit of new devices that you can add. Even removing them does not increase the counter. It is only when you renew your program that this gets set back to 100.</p>
<p><strong>Step 1: Remove as many of the devices from the list of registered devices as you can.</strong></p>
<p>You probably have tons of devices of your clients in there that had been used for testing apps which have long since been published to the app store. Also there might be many devices that you don&#8217;t actually own any more or have handed off to your relatives when you got the latest and greatest new Apple device for your own (and for &#8220;testing purposes&#8221;) use.</p>
<p>After your renewal got activated (seems to be a manual process that takes some time) the remaining device counter should snap back to 100. This is actually the first time that I am closely watching this number myself because in previous years I had been sufficiently far away from not being able to add new devices.</p>
<p><strong>Step 2: Find some good uses for your Technical Support Incidents</strong></p>
<p>Your year of program membership also comes with 2 tech inquiries. You can see the available amount and history for each of the developer programs you are a member of in the <a href="https://developer.apple.com/membercenter/index.action#techSupport">Member Center</a>. Both the Mac and the iOS programs afford you with 2 such incidents.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.32.39-PM.png"><img class="alignnone  wp-image-6741" title="Member Center" src="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.32.39-PM.png?resize=618%2C499" alt="" data-recalc-dims="1" /></a></p>
<p>Those incidents are really fabulous, often they are even more valuable than speaking to an engineer at WWDC. I had a very enjoyable experience with the very incident I sent in November 2010. At that time I wanted to know how to animate in a date picker over a table view to enter a date. Within a few days I had gotten an answer of sorts and the solution even ended up in the developer samples.</p>
<p>Apple describes the services such:</p>
<blockquote><p>The Apple Developer Technical Support (DTS) team is made up of highly qualified engineers with development expertise in key Apple technologies. Whether you need direct one-on-one support troubleshooting issues, hands-on assistance to accelerate a project, or helpful guidance to the right documentation and sample code, Apple engineers are ready to help you.</p></blockquote>
<p>You can also file tech incidents if you are not sure if the problem is in Apple&#8217;s code or in your own. If the fault lies with Apple then they will credit back the incident to your balance. I filed two new cases this week, both with good chances of them actually being Apple bugs.</p>
<p>When you renew your program tech incidents from the previous year are lost and you end up with 2. Nobody can save these up for a better use. Of course you can always BUY MORE. The 2-Pack costs 79 Euros at present which is more than you paid for the membership.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.57.26-PM.png"><img class="alignnone  wp-image-6742" title="Buy more incidents" src="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2012-07-17-um-1.57.26-PM.png?resize=499%2C229" alt="" data-recalc-dims="1" /></a></p>
<p>The point that I am trying to make here is that these incidents are a <strong>valuable and perishable good</strong> that you should not let go to waste. Use them for anything that you always wanted to have an Apple engineer explain to you.</p>
<p>There is one more thing that I am trying to test this year. We sent off two iOS incidents and then I purchased the program extension. I am interested to find out this: if it turns out that one of the cases is an Apple bug and I get it credited back, will I then end up with a higher number of incidents for next year?</p>
<h3>Conclusion</h3>
<p>Cases you don&#8217;t use will perish and not removed devices will bog down your list. Before renewing your developer program you should clean up your provisioned devices as well as make use of your tech incidents. Because these things are not immediately obvious I think they constitute good advice.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6738&amp;md5=5ac866f41874f6361da669511e1d79db" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/07/before-renewing-your-membership/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F07%2Fbefore-renewing-your-membership%2F&amp;language=en_GB&amp;category=text&amp;title=Before+Renewing+Your+Membership+%26%238230%3B&amp;description=The+month+before+your+membership+in+the+iOS+Developer+program+expires+Apple+begins+to+gently+remind+you+that+renewal+is+coming+up.+If+you+don%26%238217%3Bt+want+to+experience+an+%26%238220%3Binterruption...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Leap Second Attack</title>
		<link>http://www.cocoanetics.com/2012/07/leap-second-attack/</link>
		<comments>http://www.cocoanetics.com/2012/07/leap-second-attack/#comments</comments>
		<pubDate>Sun, 01 Jul 2012 06:18:12 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6666</guid>
		<description><![CDATA[Comics mentioned that last night we would get more rest, exactly one second. Hardly worth noticing though, if it weren&#8217;t for several computer systems which seemed to have issues with suddenly finding them one second out of whack. The reason being that (in UTC) yesterday was one second longer than usual because of an inserted Leap Second. There&#8217;s something positive about leap seconds, as Wikipedia notes: &#8220;Between their adoption in 1972 and June 2012, 25 leap seconds have been scheduled, all positive.&#8221; At the time of this writing (the day after) I cannot reach any of the sites on apple.com. Pure coincidence? Or a Leap Second Attack? One should think that UNIX-based systems are immune to timing problems because internally unix timestamps are just the number of seconds since January 1st, 1970 00:00 UTC. As Cédric Luthi pointed out to me Mac OS X or iOS didn&#8217;t even exist in the year 2000 and so they didn&#8217;t have to face this problem. Those represent dates relative to January 1st, 2001. You can see this if you look closely at NSDate&#8217;s methods &#8230;sinceReferenceDate. I sat down this morning with breakfast and the firm intention to watch a WWDC 2012 video. I hadn&#8217;t downloaded all the episodes because you can stream them from iTunes or via the website just fine. Usually. But not today. So &#8211; as every engineer would &#8211; I started to eliminate variables to see what could be the cause of this. Google, still there. Amazon, ok. Then I remembered one rule that would fix most of the Windows problems I had in the past and very rarely also some OS X problems: when in doubt, reboot. So reboot I did. Didn&#8217;t help. Next up, maybe my shady ADSL connection could be the culprit. So I logged into my router and cut the connection. But restoring it still didn&#8217;t help. Maybe a problem of the DNS system? lionking:~ oliver$ nslookup developer.apple.com Server: 192.168.1.254 Address: 192.168.1.254#53 ** server can't find developer.apple.com: NXDOMAIN Ah, we&#8217;re getting somewhere. An nslookup should always return a valid IP address when queried like that. I am using the default name servers that my ISP provides, so next I tried forcing some public alternative DNS servers to see if they have better success in resolving the name. OpenDNS and Google DNS. But still no joy. Some people reported that when they had some problems connecting a switch to Google DNS had fixed it for them. But this might have only been the case because name servers have different durations for how long they cache certain IP addresses. If Google had a longer timeout than your ISP then there would have been a grace period where Google could still resolve it. Another theory I was pursing was that Apple became the victim of a distributed denial of service attack. This fit with Rene Schätzl&#8216;s observation who reported that he was getting timeouts on 3 out of 6 Apple name servers. DDOS attacks often work by overwhelming certain parts of a victims network infrastructure by bomparding it with millions of requests from all the nodes. Parts of Apple&#8217;s web sites are hosted on Akamai which distributes copies all around the globe to share the load and speed up delivery. This might explain why apple.com was not affected because most likely this is one of these distributed sites. The developer portal however might not be and thus became victim of the denial of service, distributed, accidental or otherwise. Then I turned to Twitter asking my followers if anybody else was experiencing the same issues. And &#8211; to my great relief &#8211; others were seeing the same problem. This meant that the problem was not localized on my hardware or my own network, but apparently on a grander scale. Bron Gondwana had asked on Serverfault.com: &#8220;Anyone else experiencing high rates of Linux server crashes during a leap second day?&#8221;. When I first saw this question tweeted I thought this to be a joke. I assumed that by now all server software vendors would have made their operating systems immune to problems related to the system time. But apparently not, the question in question revolves around a bug in the Network Time Protocol (NTP) and the existing workaround is about disabling the NTP daemon (host process) and running several time fixing scripts. So that is no joke but actually reality, however hard it is to wrap your mind around that. But the problem apparently was not limited to name resolution. Ben Chatelain still know a previous IP address of developer.apple.com which he pinged, but unsuccessfully. lionking:~ oliver$ ping 17.254.2.129 PING 17.254.2.129 (17.254.2.129): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 ^C --- 17.254.2.129 ping statistics --- 6 packets transmitted, 0 packets received, [...]]]></description>
				<content:encoded><![CDATA[<p>Comics mentioned that last night we would get more rest, exactly one second. Hardly worth noticing though, if it weren&#8217;t for several computer systems which seemed to have issues with suddenly finding them one second out of whack.</p>
<p>The reason being that (in UTC) yesterday was one second longer than usual because of an inserted <a href="http://en.wikipedia.org/wiki/Leap_second">Leap Second</a>. There&#8217;s something positive about leap seconds, as Wikipedia notes: <em>&#8220;Between their adoption in 1972 and June 2012, 25 leap seconds have been scheduled, all positive.&#8221;</em></p>
<p>At the time of this writing (the day after) I cannot reach any of the sites on apple.com. Pure coincidence? Or a Leap Second Attack?</p>
<p><span id="more-6666"></span></p>
<div id="more-6666"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>One should think that UNIX-based systems are immune to timing problems because internally unix timestamps are just the number of seconds since January 1st, 1970 00:00 UTC. As <a href="http://twitter.com/0xced">Cédric Luthi</a> pointed out to me Mac OS X or iOS didn&#8217;t even exist in the year 2000 and so they didn&#8217;t have to face this problem. Those represent dates relative to January 1st, 2001. You can see this if you look closely at NSDate&#8217;s methods &#8230;sinceReferenceDate.</p>
<p>I sat down this morning with breakfast and the firm intention to watch a WWDC 2012 video. I hadn&#8217;t downloaded all the episodes because you can stream them from iTunes or via the website just fine. Usually. <em>But not today.</em></p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-07-01-at-07.45.13.png"><img class="alignnone  wp-image-6667" title="developer.apple.com disappeared" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-07-01-at-07.45.13.png?resize=604%2C511" alt="" data-recalc-dims="1" /></a></p>
<p>So &#8211; as every engineer would &#8211; I started to eliminate variables to see what could be the cause of this. Google, still there. Amazon, ok. Then I remembered one rule that would fix most of the Windows problems I had in the past and very rarely also some OS X problems: when in doubt, reboot.</p>
<p>So reboot I did. Didn&#8217;t help.</p>
<p>Next up, maybe my shady ADSL connection could be the culprit. So I logged into my router and cut the connection. But restoring it still didn&#8217;t help. Maybe a problem of the DNS system?</p>
<pre>lionking:~ oliver$ nslookup developer.apple.com
Server:		192.168.1.254
Address:	192.168.1.254#53

** server can't find developer.apple.com: NXDOMAIN</pre>
<p>Ah, we&#8217;re getting somewhere. An nslookup should always return a valid IP address when queried like that. I am using the default name servers that my ISP provides, so next I tried forcing some public alternative DNS servers to see if they have better success in resolving the name. <a href="https://www.opendns.com/opendns-ip-addresses/">OpenDNS</a> and <a href="https://developers.google.com/speed/public-dns/">Google DNS</a>. But still no joy.</p>
<p>Some people reported that when they had some problems connecting a switch to Google DNS had fixed it for them. But this might have only been the case because name servers have different durations for how long they cache certain IP addresses. If Google had a longer timeout than your ISP then there would have been a grace period where Google could still resolve it.</p>
<p>Another theory I was pursing was that Apple became the victim of a distributed denial of service attack. This fit with <a href="http://twitter.com/teebeutelfliege">Rene Schätzl</a>&#8216;s observation who reported that he was getting timeouts on 3 out of 6 Apple name servers. DDOS attacks often work by overwhelming certain parts of a victims network infrastructure by bomparding it with millions of requests from all the nodes.</p>
<p>Parts of Apple&#8217;s web sites are hosted on Akamai which distributes copies all around the globe to share the load and speed up delivery. This might explain why <strong>apple.com</strong> was not affected because most likely this is one of these distributed sites. The developer portal however might not be and thus became victim of the denial of service, distributed, accidental or otherwise.</p>
<p>Then I turned to Twitter asking my followers if anybody else was experiencing the same issues. And &#8211; to my great relief &#8211; others were seeing the same problem. This meant that the problem was not localized on my hardware or my own network, but apparently on a grander scale.</p>
<p><a href="http://serverfault.com/users/126591/bron-gondwana">Bron Gondwana</a> had <a href="http://serverfault.com/questions/403732/anyone-else-experiencing-high-rates-of-linux-server-crashes-during-a-leap-second">asked on Serverfault.com</a>: &#8220;Anyone else experiencing high rates of Linux server crashes during a leap second day?&#8221;. When I first saw this question tweeted I thought this to be a joke. I assumed that by now all server software vendors would have made their operating systems immune to problems related to the system time.</p>
<p>But apparently not, the question in question revolves around a bug in the Network Time Protocol (NTP) and the existing workaround is about disabling the NTP daemon (host process) and running several time fixing scripts. So that is no joke but actually reality, however hard it is to wrap your mind around that.</p>
<p>But the problem apparently was not limited to name resolution.</p>
<p>Ben Chatelain still know a previous IP address of <strong>developer.apple.com</strong> which he pinged, but unsuccessfully.</p>
<pre>lionking:~ oliver$ ping 17.254.2.129
PING 17.254.2.129 (17.254.2.129): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C
--- 17.254.2.129 ping statistics ---
6 packets transmitted, 0 packets received, 100.0% packet loss</pre>
<p>Not all of Apple&#8217;s servers are hosted equal however. I could still get into iTunes Connect, though with all the images missing.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-07-01-at-08.06.56.png"><img class="alignnone  wp-image-6668" title="Screen Shot 2012-07-01 at 08.06.56" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-07-01-at-08.06.56.png?resize=572%2C444" alt="" data-recalc-dims="1" /></a></p>
<p>Closer inspection of the image URLs showed that Apple is hosting them on a dedicated static asset server at <strong>itc.mzstatic.com</strong>.</p>
<p>Oh, well. You shouldn&#8217;t work on Sunday anyway &#8230;</p>
<blockquote class="twitter-tweet"><p>Quick, somebody check at his closest open Apple Store if Apple is still in business. Do we still have a job on Monday?</p>
<p>— Cocoanetics  (@Cocoanetics) <a href="https://twitter.com/Cocoanetics/status/219310152099184640" data-datetime="2012-07-01T06:03:09+00:00">July 1, 2012</a></p></blockquote>
<p>Let me know on Twitter or the comments of this post if you have any new information.</p>
<p>Update: I pinged some of the guys at Apple who I know to be as addicted to Twitter as I am and Michael Jurewitz let us know that the team is on top of it.</p>
<blockquote class="twitter-tweet" data-in-reply-to="219312886307241985"><p>@<a href="https://twitter.com/Cocoanetics">Cocoanetics</a> The team is on it // @<a href="https://twitter.com/ctp">ctp</a> @<a href="https://twitter.com/davedelong">davedelong</a></p>
<p>— Michael Jurewitz (@Jury) <a href="https://twitter.com/Jury/status/219318667656183808" data-datetime="2012-07-01T06:36:59+00:00">July 1, 2012</a></p></blockquote>
<p>Update: 2 hours after this the problem had been resolved. Just in time to permit several overworked iOS developers to avoid an otherwise lazy Sunday.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6666&amp;md5=98c7af3f397455af2d8a257fe1220a36" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/07/leap-second-attack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F07%2Fleap-second-attack%2F&amp;language=en_GB&amp;category=text&amp;title=Leap+Second+Attack&amp;description=Comics+mentioned+that+last+night+we+would+get+more+rest%2C+exactly+one+second.+Hardly+worth+noticing+though%2C+if+it+weren%26%238217%3Bt+for+several+computer+systems+which+seemed+to+have+issues+with...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Forbidden Fruits</title>
		<link>http://www.cocoanetics.com/2012/06/forbidden-fruits/</link>
		<comments>http://www.cocoanetics.com/2012/06/forbidden-fruits/#comments</comments>
		<pubDate>Fri, 22 Jun 2012 06:58:22 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6580</guid>
		<description><![CDATA[A short while after the WWDC 2012 keynote, when Apple made the iOS 6 BETA publicly available, somebody tweeted in German that there are probably already more devices running iOS 6 than Android 4. I translated the tweet to English and tweeted it for everybody&#8217;s amusement. According to sources the iOS 6 BETA is already more widely distributed than Android 4.0 I also added the &#8220;According to sources&#8221; to make fun of pundits who always add something like this to underline the authoritativeness of the rumors they pick out of thin air. Reactions ranged from calling BS over joy to suspension of disbelief with most tweeps getting that this is one of these things where you cannot really know but it would be funny if it were true, or maybe it really is? I read it on the Internet and so it must be so &#8230; However there are several things we know for sure. These are the facts and they are undisputed. A whole new business segment formed around methods to get iOS 6 into the hands of non-developers. Wired ran an article on these Scofflaw Developers who have sophisticated websites selling access to a limited resource. A scofflaw is &#8221;a lawless drinker of illegally made or illegally obtained liquor&#8221;, where liquor is the Apple Koolaid. Be warned &#8230; Software as such can be copied without limit, but Apple puts an artificial limitation on the number of devices that a developer can install BETA software on, 100 for individual or company accounts. The enterprise program limit is 500 devices. They also warn every developer: [iOS 6] is intended only for installation on development devices registered with Apple&#8217;s Developer Program. Attempting to install this version of iOS in an unauthorized manner could put your device in an unusable state, which could necessitate an out of warranty repair. [some compiler] and iOS 6 beta are pre-release software and are considered Apple Confidential Information and are subject to the terms of your iOS Developer Program License Agreement. Unauthorized distribution or disclosure of Apple Confidential Information is prohibited. Your iOS Developer Program membership can be terminated if you provide pre-release Apple Software to anyone other than employees, contractors, and members of your organization who are registered as Apple Developers and have a demonstrable need to know or use Apple Software in order to develop and test applications on your behalf. Unauthorized distribution of Apple Confidential Information (including pre-release Apple Software) is prohibited and may subject you to both civil and criminal liability. These messages make iOS 6 contraband of the finest quality. Why do we have an NDA in the first place? We tend to forget too easily. Do you remember that the Apple developer NDA in the past was covering all Apple iOS software? You couldn&#8217;t even discuss any programming techniques with your developer friends in public. Thankfully Apple has reconsidered and abolished the NDA for released software on October 1st, 2008. This move made it possible for sites like mine to openly discuss iPhone development topics. &#8220;Released&#8221; being the operative word. As in publicly available because Apple has made it such. NOT as in &#8220;widely circulated by Scofflaws&#8221;. In Apple&#8217;s own words the NDA is meant to protect inventions and innovations &#8220;so that others don&#8217;t steal our work&#8221; in addition to &#8220;hundreds of patents&#8221; that they have filed on iPhone technology. The tone of this announcement reminds us of they kind of language that Steve Jobs was known for. Remember &#8220;Thermonuclear War&#8221;? The core reason for the NDA is to broaden the window during which Apple can seek legal protection for new stuff in iOS. A reader of Daring Fireball offered this explanation: At my company, our lawyers advised us to keep what we considered more-or-less public software under NDA for a very long time because demoing software to someone under NDA, no matter how many people it is, avoids “publishing” the software and any inventions contained therein. We know Apple’s been building up a patent strategy around multi-touch; maybe their lawyers believe there are patentable inventions described in the iPhone SDK and they are telling Apple to keep everything under NDA until they know provisional patents can be filed within a reasonable amount of time (you get a year after publishing in the US, but in the EU, I think you forfeit any patent claims once your invention is “published”). It’s like, it doesn’t matter at all how broad/leaky the NDA process is, in the eyes of the USPTO, every invention in the iPhone SDK is a non-published invention and will continue to be so until the NDA is lifted. This mentions the One Year Rule, which states that &#8220;any public use&#8221; or any description of the invention in a public document (like a blog post) starts the one year timer and once this has ticked down to [...]]]></description>
				<content:encoded><![CDATA[<p>A short while after the WWDC 2012 keynote, when Apple made the iOS 6 BETA publicly available, somebody tweeted in German that there are probably already more devices running iOS 6 than Android 4. I translated the tweet to English and tweeted it for everybody&#8217;s amusement.</p>
<blockquote><p>According to sources the iOS 6 BETA is already more widely distributed than Android 4.0</p></blockquote>
<p>I also added the &#8220;According to sources&#8221; to make fun of pundits who always add something like this to underline the authoritativeness of the rumors they pick out of thin air. Reactions ranged from calling BS over joy to suspension of disbelief with most tweeps getting that this is one of these things where you cannot really know but it would be funny if it were true, or maybe it really is?</p>
<p>I read it on the Internet and so it must be so &#8230;</p>
<p><span id="more-6580"></span></p>
<div id="more-6580"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>However there are several things we know for sure. <em>These are the facts and they are undisputed.</em> A whole new business segment formed around methods to get iOS 6 into the hands of non-developers. Wired ran an article on these <a href="http://www.wired.com/gadgetlab/2012/06/opinion-baio-ios-activatio/">Scofflaw Developers</a> who have sophisticated websites selling access to a limited resource. A scofflaw is &#8221;a lawless drinker of illegally made or illegally obtained liquor&#8221;, where liquor is the Apple Koolaid.</p>
<h3>Be warned &#8230;</h3>
<p>Software as such can be copied without limit, but Apple puts an artificial limitation on the number of devices that a developer can install BETA software on, 100 for individual or company accounts. The enterprise program limit is 500 devices. They also warn every developer:</p>
<blockquote><p>[iOS 6] is intended only for installation on development devices registered with Apple&#8217;s Developer Program. Attempting to install this version of iOS in an unauthorized manner could put your device in an unusable state, which could necessitate an out of warranty repair.</p>
<p>[some compiler] and iOS 6 beta are pre-release software and are considered Apple Confidential Information and are subject to the terms of your iOS Developer Program License Agreement. Unauthorized distribution or disclosure of Apple Confidential Information is prohibited.</p>
<p>Your iOS Developer Program membership can be terminated if you provide pre-release Apple Software to anyone other than employees, contractors, and members of your organization who are registered as Apple Developers and have a demonstrable need to know or use Apple Software in order to develop and test applications on your behalf. Unauthorized distribution of Apple Confidential Information (including pre-release Apple Software) is prohibited and may subject you to both civil and criminal liability.</p></blockquote>
<p>These messages make iOS 6 contraband of the finest quality.</p>
<h3>Why do we have an NDA in the first place?</h3>
<p>We tend to forget too easily. Do you remember that the Apple developer NDA in the past was covering all Apple iOS software? You couldn&#8217;t even discuss any programming techniques with your developer friends in public. Thankfully Apple has reconsidered and <a href="http://www.wired.com/gadgetlab/2008/10/apple-removes-i/">abolished the NDA for released software</a> on October 1st, 2008. This move made it possible for sites like mine to openly discuss iPhone development topics.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/toourdevs.png"><img class="alignnone size-full wp-image-6581" title="NDA lifted" src="http://i1.wp.com/www.cocoanetics.com/files/toourdevs.png?resize=600%2C171" alt="" data-recalc-dims="1" /></a></p>
<p>&#8220;Released&#8221; being the operative word. As in publicly available because Apple has made it such. NOT as in &#8220;widely circulated by Scofflaws&#8221;.</p>
<p>In Apple&#8217;s own words the NDA is meant to protect inventions and innovations &#8220;so that others don&#8217;t steal our work&#8221; in addition to &#8220;hundreds of patents&#8221; that they have filed on iPhone technology. The tone of this announcement reminds us of they kind of language that Steve Jobs was known for. Remember &#8220;Thermonuclear War&#8221;?</p>
<p>The core reason for the NDA is to broaden the window during which Apple can seek legal protection for new stuff in iOS. A reader of Daring Fireball <a href="http://daringfireball.net/2008/08/iphone_nda_patents">offered this explanation</a>:</p>
<blockquote><p>At my company, our lawyers advised us to keep what we considered more-or-less public software under NDA for a very long time because <strong>demoing software to someone under NDA, no matter how many people it is, avoids “publishing” the software</strong> and any inventions contained therein.</p>
<p>We know Apple’s been building up a patent strategy around multi-touch; maybe their lawyers believe there are patentable inventions described in the iPhone SDK and they are telling Apple to keep everything under NDA until they know provisional patents can be filed within a reasonable amount of time (you get a year after publishing in the US, but in the EU, I think you forfeit any patent claims once your invention is “published”).</p>
<p>It’s like, it doesn’t matter at all how broad/leaky the NDA process is, in the eyes of the USPTO, every invention in the iPhone SDK is a non-published invention and will continue to be so until the NDA is lifted.</p></blockquote>
<p>This mentions the <a href="http://www.mateoaboy.com/f6/blog_files/874912ee2802a38923c533ba23ecf6c5-32.html">One Year Rule</a>, which states that &#8220;any public use&#8221; or any description of the invention in a public document (like a blog post) starts the one year timer and once this has ticked down to zero patentability is out of the door.</p>
<p>Apple has an additional level of security to preserve patentability. Not only prohibit they any publication of iOS 6 internals between WWDC and the fall release, they intentionally limit this secret period to well under a year, like 3 to 4 months. This is only possible because of the enormous secrecy inside Apple.</p>
<p>You can be certain that while I&#8217;m writing this work on iOS 7 has already begun. If anything would become &#8220;published&#8221; about this work right now then Apple would lose patentability of it by that time next year. An unfortunate mishap like this would cause much stress on those poor Apple patent lawyers. Also it would make filing the patent more difficult because holders of competing patents would have an extra year of opportunity to find some prior art to immediately void the not-even-filed-yet patent.</p>
<p>Ideally Apple would like to keep new versions of their Operating Systems secret right until the day of release. But even Apple must concede that software is never truly error-free and a period of broad BETA testing is necessary to insure sufficient stability and quality at launch. So those 3 months of intense testing are the <strong>minimum compromise</strong> between Apple&#8217;s lawyers and Apple&#8217;s engineers.</p>
<h3>Forbidden Fruit Syndrome</h3>
<p>This term comes from the bible for the Apple software that Eve was tempting Adam&#8217;s hardware with. And there was a snake too.</p>
<p>A good definition for the FFS is this:</p>
<blockquote><p>In basic terms, it <strong>doing something that you&#8217;ve been told not to do, but you do it anyway</strong>. Depending on the context it may be very mundane or a societal taboo.</p>
<p>I think people like the forbidden fruit because the satisfaction gained from it is usually quite good, but it may leave a sour taste.</p></blockquote>
<p>iOS 6 is coveted, Apple told us not to do it (at great length) still many users are seeking the satisfaction of being first amongst iOS 6 users. <em>&#8220;Look! My Mail has Pull to Refresh&#8221;</em> aka <em>&#8220;I&#8217;m way cooler than you&#8221;</em>.</p>
<p>Installing iOS 6 on your main phone provides multiple thrills that few developers can escape from. Smart beings are purchasing &#8220;Sacrifical iPod Touches&#8221; to install it on, but the foolhardy do it without protection. At least those who do can claim <em>&#8220;hey I need to test my apps on that in realistic conditions!&#8221;</em></p>
<h3>&#8230; or really just Marketing?</h3>
<p>Restricting people&#8217;s access to the latest and greatest (however unpolished it is under the hood) might also be some sort of backhanded marketing ploy to hype iOS even more. But, honestly, I can tell you from my own experience that engineering is way more important to Apple than that. iOS 6 is far from finished and far from ready for adoption by the broad populace.</p>
<p>What personally bugs me (the &#8220;sour taste&#8221;, see above) about the practise of selling devices registrations is the kinds of users that will make use of this. The <a href="http://bugreport.apple.com">Apple Bug Reporter</a> site is open for everybody with an Apple ID, but most of these &#8220;illegal&#8221; users will probably never be filing any Radars. The only thing these people ever do is complain about all that is wrong with iOS 6 but never actually help in ironing out the kinks.</p>
<p>What our favorite operating system needs right now is to actually be tested in realistic conditions and then have as many high quality bug reports (aka Radars) filed for the problems you encounter. The more we take that to heart, the better the first Gold Master of it will be.</p>
<p>You can save yourself the time to ask me <em>&#8220;is iOS 6 ready to be installed on my main phone?&#8221;</em> For me it is, but I&#8217;m a developer (I&#8217;m testing and filing Radars like crazy) and I have an extensive museum of every iPhone ever made to switch too should my phone become unusable.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6580&amp;md5=f47c9c10731c8de1e1713accb50b730f" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/06/forbidden-fruits/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F06%2Fforbidden-fruits%2F&amp;language=en_GB&amp;category=text&amp;title=Forbidden+Fruits&amp;description=A+short+while+after+the+WWDC+2012+keynote%2C+when+Apple+made+the+iOS+6+BETA+publicly+available%2C+somebody+tweeted+in+German+that+there+are+probably+already+more+devices+running+iOS...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Public Transit in iOS 6</title>
		<link>http://www.cocoanetics.com/2012/06/public-transit-in-ios-6/</link>
		<comments>http://www.cocoanetics.com/2012/06/public-transit-in-ios-6/#comments</comments>
		<pubDate>Sun, 17 Jun 2012 06:40:01 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6547</guid>
		<description><![CDATA[By now it is public knowledge that there will be no in-house replacement for routing via public means of transport in iOS 6. Indeed if you hold an iOS 6 phone (that somebody maybe has left in a bar) and you try to plan a route from point A to point B you find that you can drive there quite nicely with turn-by-turn in 3D. You can walk there. Or you can get forwarded to a &#8211; currently empty &#8211; section that supposedly will show a list of transit apps to take on the routing. I have some personal experience with that to share which might also underline why this move by Apple is actually the only reasonable one. Many moons ago there in the internationally renowned city called Vienna (Austria) Google maps introduced public transit planning. It was great, people could navigate through the city with ease. In Austria the public transit system has been more or less privatized, though it is still has very close ties to the government and politics. Public transit inside the bounds of Vienna is owned and operated by &#8220;Wiener Linien&#8221;, everything outside this territory and the whole rail system is owned and operated by &#8220;OEBB&#8221;. Those sound like various independent companies but in reality there are lots of political ties between these players. For a while everybody was happy and Google was provided the data in the necessary format which had been specified as the de facto standard called Google Transit Feed Specification. Wherever in the world the date is made available in this format, you will get public transit routing in Google Maps. We can only speculate as to the exact course of events, but let me we lay out some facts for you first. A startup based in Vienna launched an extremely crappy app called Qando which often responds with completely useless routes. Not only does it fail to sound cool by omitting a U (&#8220;Quando&#8221; is italian and means &#8220;When?&#8221;), it nevertheless triggered a change of mind at &#8220;Wiener Linien&#8221;. Or was it because OEBB licensed an app from German HaCon which became the official OEBB routing app named SCOTTY mobil, just like the website. We cannot be certain who was to blame, but either way the data feed towards Google got terminated. The official reason given was that Google does not properly calculate the routes. When users started to complain to Google, this is the answer they got: Google apologises that Austrian transit data from OeBB is no longer available on Google Maps. We are sorry for any inconvenience this may cause to commuters, and are working hard to provide this service again in the future. For information on public transportation in Austria, visit http://www.oebb.at/pv/de/Servicebox/Fahrplanabfrage/index.jsp A birdie tweeted into my ear that this was a result of a back-room deal aimed at neutering Google&#8217;s power by making Google Maps worthless for navigation in Vienna. And thus two apps became the only sources of routing information in Vienna. So even though Google was &#8220;working hard&#8221; they did never stand a chance against the secret deal between several monopolistic companies. Since then (spring 2010) no progress was made. There was an Open Government initiative, but since Wiener Linien and OEBB don&#8217;t belong to the government (at least on paper) they can drag their feet as much as they like and still never provide their transit data to any outsider. So much for the background story. The truth of the matter is that if private companies are in charge of public transit and they have vested interests in pushing their own (or partner&#8217;s) apps then they have little to no incentive in providing GTFS data to Google. One might think that easy availability of routing info via Google maps might increase these transit companies&#8217; income, but at least the two big Austrian transit authorities do not seem to agree. Now imagine what Apple would do. It is obvious that they want to cut out Google as a middle man and instead would like to make deals with the likes of Tom Tom. Unfortunately there is no global company that Apple could go to for this kind of data. And why should anybody let Apple have more data than Google is getting? Even worse, nobody knows the extent of the secret deals that were made to keep Google out of certain markets. Those same deals would probably also make it impossible for Apple to get at this data. In a way Apple has to be thankful to Google for testing the waters and uncovering how difficult it is to get worldwide coverage on a voluntary (and free) basis. Because of this Apple does the only smart thing: let the companies do it themselves. For Austria I am pretty sure that you will end up seeing [...]]]></description>
				<content:encoded><![CDATA[<p>By now it is <a href="http://thenextweb.com/apple/2012/06/16/why-apple-ditched-transit-directions-in-ios-6-maps/">public knowledge</a> that there will be no in-house replacement for routing via public means of transport in iOS 6. Indeed if you hold an iOS 6 phone (that somebody maybe has left in a bar) and you try to plan a route from point A to point B you find that you can drive there quite nicely with turn-by-turn in 3D. You can walk there. Or you can get forwarded to a &#8211; currently empty &#8211; section that supposedly will show a list of transit apps to take on the routing.</p>
<p>I have some personal experience with that to share which might also underline why this move by Apple is actually the only reasonable one.</p>
<p><span id="more-6547"></span></p>
<div id="more-6547"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Many moons ago there in the internationally renowned city called Vienna (Austria) Google maps introduced public transit planning. It was great, people could navigate through the city with ease. In Austria the public transit system has been more or less privatized, though it is still has very close ties to the government and politics. Public transit inside the bounds of Vienna is owned and operated by &#8220;Wiener Linien&#8221;, everything outside this territory and the whole rail system is owned and operated by &#8220;OEBB&#8221;. Those sound like various independent companies but in reality there are lots of political ties between these players.</p>
<p>For a while everybody was happy and Google was provided the data in the necessary format which had been specified as the de facto standard called <a href="https://developers.google.com/transit/gtfs/reference">Google Transit Feed Specification</a>. Wherever in the world the date is made available in this format, you will get public transit routing in Google Maps.</p>
<p>We can only speculate as to the exact course of events, but let me we lay out some facts for you first. A startup based in Vienna launched an extremely crappy app called <a href="http://itunes.apple.com/at/app/qando/id315777736?mt=8">Qando</a> which often responds with <a href="http://www.telekom-presse.at/Der_permanente_Aerger_mit_VOR-App_Qando.id.17572.htm">completely useless routes</a>. Not only does it fail to sound cool by omitting a U (&#8220;Quando&#8221; is italian and means &#8220;When?&#8221;), it nevertheless triggered a change of mind at &#8220;Wiener Linien&#8221;. Or was it because OEBB licensed an app from German HaCon which became the official OEBB routing app named <a href="http://itunes.apple.com/at/app/obb-scotty-mobil/id315497345?mt=8">SCOTTY mobil</a>, just like the website.</p>
<p>We cannot be certain who was to blame, but either way the data feed towards Google got terminated. The official reason given was that Google does not properly calculate the routes. When <a href="http://productforums.google.com/forum/#!topic/maps/aPWIrf6HE4o">users started to complain</a> to Google, this is the answer they got:</p>
<blockquote><p>Google apologises that Austrian transit data from OeBB is no longer available on Google Maps. We are sorry for any inconvenience this may cause to commuters, and are working hard to provide this service again in the future. For information on public transportation in Austria, visit <a href="http://www.oebb.at/pv/de/Servicebox/Fahrplanabfrage/index.jsp" target="_blank">http://www.oebb.at/pv/<wbr>de/Servicebox/Fahrplanabfrage/<wbr>index.jsp</wbr></wbr></a></p></blockquote>
<p>A birdie tweeted into my ear that this was a result of a back-room deal aimed at neutering Google&#8217;s power by making Google Maps worthless for navigation in Vienna. And thus two apps became the only sources of routing information in Vienna. So even though Google was &#8220;working hard&#8221; they did never stand a chance against the secret deal between several monopolistic companies.</p>
<p>Since then (spring 2010) no progress was made. There was an <a href="http://gov.opendata.at">Open Government</a> initiative, but since Wiener Linien and OEBB don&#8217;t belong to the government (at least on paper) they can drag their feet as much as they like and still never provide their transit data to any outsider.</p>
<p><strong>So much for the background story.</strong></p>
<p>The truth of the matter is that if private companies are in charge of public transit and they have vested interests in pushing their own (or partner&#8217;s) apps then they have little to no incentive in providing GTFS data to Google. One might think that easy availability of routing info via Google maps might increase these transit companies&#8217; income, but at least the two big Austrian transit authorities do not seem to agree.</p>
<p>Now imagine what Apple would do. It is obvious that they want to cut out Google as a middle man and instead would like to make deals with the likes of Tom Tom. Unfortunately there is no global company that Apple could go to for this kind of data. And why should anybody let Apple have more data than Google is getting?</p>
<p>Even worse, nobody knows the extent of the secret deals that were made to keep Google out of certain markets. Those same deals would probably also make it impossible for Apple to get at this data. In a way Apple has to be thankful to Google for testing the waters and uncovering how difficult it is to get worldwide coverage on a voluntary (and free) basis.</p>
<p>Because of this Apple does the only smart thing:<strong> let the companies do it themselves</strong>. For Austria I am pretty sure that you will end up seeing Qando and SCOTTY on this list of public transit routing providers.</p>
<p>There will most likely be a way for the new Maps to pass on the start and end coordinates to the app you end up choosing and then you will get the routing info from there instead of being integrated in Maps. Or maybe there will be a way to expose the discovered route somehow inside the maps app. But for this to happen Apple needs to provide some sort of communication process between apps, above and beyond URL schemes. So the app context switch is the more likely variant.</p>
<p>By rolling over the responsibility to the local transit companies Apple makes the smart move of forcing the users to talk to their local companies if they want to trigger an acceptable routing experience from within Apple maps. Apple creates a &#8220;negative space&#8221;, an obvious void that is just begging to be filled by multiple apps competing to be the public transport info provider of choice for the user. At the same time they are creating an incredible business opportunity to either create the official transit apps for certain areas or to create a premium transit app that competes with some crappy incumbent app.</p>
<p>Transit is something very personal, because people tend to use public transport every day to get to and from work. While Google&#8217;s answer was to have system from consuming data feeds, Apple&#8217;s is much simpler: <em>There&#8217;s an App for that!</em></p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6547&amp;md5=1d2098252be7c3c4f362ccdd76ca3dcc" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/06/public-transit-in-ios-6/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F06%2Fpublic-transit-in-ios-6%2F&amp;language=en_GB&amp;category=text&amp;title=Public+Transit+in+iOS+6&amp;description=By+now+it+is+public+knowledge+that+there+will+be+no+in-house+replacement+for+routing+via+public+means+of+transport+in+iOS+6.+Indeed+if+you+hold+an+iOS+6...&amp;tags=blog" type="text/html" />
	</item>
	</channel>
</rss>
