<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.2" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <atom:link href="http://www.revelary.com/blog.rss" rel="self" type="application/rss+xml" />
        <title>blog</title>
        <description>blog</description>
        <link>http://www.revelary.com/blog.php</link>
        <lastBuildDate>Tue, 07 Feb 2012 05:22:07 +0100</lastBuildDate>
        <generator>FeedCreator 1.7.2</generator>
        <item>
            <title>Faceover/Faceover Lite Download Stats</title>
            <link>http://www.revelary.com/blog/faceover-faceover-lite-download-stats-and-upcoming-release</link>
            <description>First of all, I submitted Faceover 1.5 to the App Store. It adds the ability to upload photos to Facebook. Faceover Lite 1.3 will soon follow with the same feature.&lt;br&gt;&lt;br&gt;Now, on to some interesting download statistics. Faceover has now had over 15,000 total downloads in the nine months since its release. Here's the breakdown by country:&lt;br&gt;&lt;img class=&quot;yui-img&quot; src=&quot;http://www.revelary.com/resources/Faceover%20Lite%20downloads%20May%2023%202011.png&quot;&gt;&lt;br&gt;&lt;br&gt;In the seven months since Faceover Lite was released, it has had over 52,000 total downloads. And the breakdown by country:&lt;br&gt;&lt;img class=&quot;yui-img&quot; src=&quot;http://www.revelary.com/resources/Faceover%20downloads%20May%2023%202011.png&quot;&gt;&lt;br&gt;&lt;br&gt;This comparison shows some useful information about the downloading behavior of different countries. First, the USA and UK are most likely to purchase the app, followed by Canada, Mexico and Australia.&lt;br&gt;&lt;br&gt;Second, this shows that some countries love free apps but do not buy them. This describes China. If you combine Taiwan and Hong Kong with China, there are 8,894 total Lite downloads! This puts the Chinese still behind the USA but way ahead of everyone else. Another interesting case is Saudi Arabia. Apparently the arabs also like free downloads but don't pay for apps.&lt;br&gt;&lt;br&gt;Finally, it's worthwhile to note that a little more than half of Faceover users are from the USA and almost 75% are English-speaking. For Faceover Lite, only 25% of the users are from the USA and about 35% are English-speaking. The Chinese users make up 17% of Faceover Lite users. At the rate that Chinese downloads have been increasing lately, it won't be long until I have more Chinese customers than American. Maybe I'll have to localize the app to Chinese!&lt;br&gt;</description>
            <pubDate>Wed, 25 May 2011 03:27:05 +0100</pubDate>
        </item>
        <item>
            <title>Upcoming Faceover Features and One Nasty Bug</title>
            <link>http://www.revelary.com/blog/upcoming-faceover-features-and-a-ridiculously-nasty-bug</link>
            <description>Faceover 1.4 development is well underway. I'd say it's more than halfway done. Here are some of the features I'm planning to be released in version 1.4:&lt;br&gt;&lt;ul&gt;&lt;li&gt;Selection of rectangular shapes&lt;/li&gt;&lt;li&gt;New and improved user manual&lt;/li&gt;&lt;li&gt;New startup screen to make the app easier to learn&lt;/li&gt;&lt;li&gt;Demo video showing the app in use&lt;/li&gt;&lt;/ul&gt;I hope it's a great release! The next version (1.5) will offer uploading photos to Facebook.&lt;br&gt;&lt;br&gt;Now on a more sinister note, I ran into a horrid &lt;i&gt;nasty&lt;/i&gt; bug while creating my own custom modal view controller. Basically what I needed to do was show a modal view controller from my main view controller. This was easily done by adding the modal view as a subview. No problem.&lt;br&gt;&lt;br&gt;Next, rather than have the modal view controller try to remove itself from the parent, I decided to follow best practices and use a delegate to call back to the parent so it could remove the child view using removeFromSuperview. This &lt;i&gt;should&lt;/i&gt; have also been no problem. However, this is where I spent over ten hours of my life that I will never get back. For the delegate to work, I created a protocol with a simple method called removeChildViewController. I then made the parent controller adopt this protocol and implemented the removeChildViewController method. Again, this should not have been a problem. Unfortunately, this is where my problems began.&lt;br&gt;&lt;br&gt;A couple days later I started seeing crashes in random places. Whenever I closed a modal view from my main view controller, the app would crash. Of course, this was after two days of other code changes so the only clue I had to start with was the &quot;pointer being freed was not allocated&quot; error from XCode. The call stack was not helpful because it was only showing system calls.&lt;br&gt;&lt;br&gt;I started to dig, and refactor, simplify, and dig, refactor and simplify some more. Still crashing. Then I switched from using a nib file for my modal view to creating the view in code. Still crashing. I tried dismissing the view and controller differently. Still crashing. I finally got a strong clue when I found that my standard UIImagePickerController was also crashing on close. I hadn't changed anything there, so I decided to put a breakpoint in my removeChildViewController method and found that it was getting called often and &lt;i&gt;not by me&lt;/i&gt;. It was being called by system methods and places I had absolutely zero control over.&lt;br&gt;&lt;br&gt;This was the key piece of evidence I needed. I thought, &quot;wouldn't that be crazy if I was overriding a system UIViewController method and didn't even know it?&quot;. I renamed the method to closeChildViewController, held my breath, and everything worked fine again. Wow! So basically I was overriding an undocumented system method that I didn't even know existed because I happened to write a method with the same name! This is exactly why &quot;security through obscurity&quot; is a bad idea. It's also why overriding is so great in languages like C# where you have to explicitly declare a method as overriden if you really want to override the base class method.&lt;br&gt;&lt;br&gt;So that was fun. Hours of wasted time because of a weakness with the way method overriding works in Objective-C. Can I start getting something done again now? :)&lt;br&gt;</description>
            <pubDate>Thu, 31 Mar 2011 15:09:42 +0100</pubDate>
        </item>
        <item>
            <title>Faceover hits 10,000 total downloads, Faceover Lite hits 25,000</title>
            <link>http://www.revelary.com/blog/faceover-hits-10-000-total-downloads-faceover-lite-hits-25-000</link>
            <description>Well, unfortunately the app did not stay anywhere near number one in iPad Photography for long, but just recently Faceover has hit 10,000 total downloads in four months. Faceover Lite has reached 25,000 total downloads in half that much time. It's really cool to see how the downloads add up over time even though it feels like there aren't very many on any given day.&lt;br&gt;&lt;br&gt;I initially released Faceover Lite in the very crowded Entertainment category. Its ranking has dropped below 400 for the iPad Entertainment category so I decided to move it to Photography where the full version is. It won't officially change categories until the update is approved that I submitted to the App Store yesterday. I also submitted a Faceover update that lets you email photos from the app. Both apps have a new UI look with a fresh set of custom icons and a simplified selection area. I'd like to do another update soon to fix a bug with photo orientation and then start working on uploading to Facebook.&lt;br&gt;</description>
            <pubDate>Fri, 17 Dec 2010 05:55:50 +0100</pubDate>
        </item>
        <item>
            <title>Faceover hits #1 in iPad Photography with 1.1 release</title>
            <link>http://www.revelary.com/blog/faceover-hits-1-in-ipad-photography-with-1-1-release</link>
            <description>Faceover 1.1 was ready for sale on the App Store yesterday. It was initially rejected because the iPad version was allowing multiple popovers which is a no-no according to the Human Interface Guidelines--thanks Apple for catching that one :).&lt;br&gt;&lt;br&gt;And of course the really exciting news is that Faceover hit the #1 spot for the iPad Photography category. However, it's neck and neck with ArtStudio and Photogene. Here's where the three are in the top overall iPad applications:&lt;br&gt;63 - Faceover&lt;br&gt;65 - ArtStudio&lt;br&gt;68 - Photogene&lt;br&gt;&lt;br&gt;These three apps are in a very tight competition for iPad right now and the rankings change rapidly. But for &lt;i&gt;right now&lt;/i&gt;, Faceover is the #1 app for iPad Photography!&lt;br&gt;&lt;br&gt;On the iPhone side, Faceover is currently way down at #96 for Photography. I've got some work to do there!&lt;br&gt;</description>
            <pubDate>Wed, 01 Sep 2010 21:27:53 +0100</pubDate>
        </item>
        <item>
            <title>Faceover reached #2 for iPad Photograpy Apps</title>
            <link>http://www.revelary.com/blog/faceover-reached-2-for-ipad-photograpy-apps</link>
            <description>Awesome! Apple is featuring Faceover in the spotlight section of the iPad App Store for a few days now! Thanks to this prime placement, Faceover jumped as high as #2 for iPad photography, the 40s for iPhone photography and in the 50s for all paid iPad apps. There have now been over 2500 downloads. I think if I can just maintain the visibility and get the app in front of people it should continue to do well.&lt;br&gt;&lt;br&gt;In other news, I submitted an update today that fixes several things and improves on the usability too--should be available in about a week after Apple reviews it.&lt;br&gt;</description>
            <pubDate>Mon, 23 Aug 2010 22:18:51 +0100</pubDate>
        </item>
        <item>
            <title>Faceover Moving Steadily up the App Store Rankings</title>
            <link>http://www.revelary.com/blog/faceover-moving-steadily-up-the-rankings</link>
            <description>I checked Faceover's ranking on the App Store tonight. It's up to number 13 for iPad in the Photography category and number 80 for iPhone Photography. I've sent a few review request emails out to different app review sites but no bites there yet. I'm pleasantly surprised with the iPad ranking but I really want to get the ranking up on the iPhone side. I think some of the upcoming features will help do that. We'll see!&lt;br&gt;</description>
            <pubDate>Sun, 15 Aug 2010 04:05:48 +0100</pubDate>
        </item>
        <item>
            <title>Faceover is &quot;New and Noteworthy&quot;!</title>
            <link>http://www.revelary.com/blog/faceover-is-new-and-noteworthy-</link>
            <description>On its second day in the App Store yesterday, Faceover had 125 downloads. 69 were from from the US and the rest were scattered around at least 20 different countries. Also when I checked iTunes this morning I was delighted to see that the Gods at Apple have chosen to spotlight Faceover in the New and Noteworthy section within the photography category.&lt;br&gt;&lt;br&gt;Current ranking within the photography category is 16 for iPad and 107 for iPhone. I'm expecting it to jump higher tomorrow from the great advertising that New &amp;amp; Noteworthy gives me. This is so much fun!&lt;br&gt;</description>
            <pubDate>Fri, 13 Aug 2010 21:56:12 +0100</pubDate>
        </item>
        <item>
            <title>Faceover Ready for Sale on the App Store</title>
            <link>http://www.revelary.com/blog/faceover-ready-for-sale-on-the-app-store</link>
            <description>I got the approval email from Apple's app review team yesterday around noon. Faceover was in the App Store within a few hours after that. This morning I saw that there were 44 downloads in the first half day of release--40 in the US, 2 in Mexico, 1 UK and 1 Canada. Of course, one of those downloads was my own but I think 44 is a good start. I can work with that.&lt;br&gt;</description>
            <pubDate>Fri, 13 Aug 2010 03:53:02 +0100</pubDate>
        </item>
        <item>
            <title>Slight Snag With Faceover Submission to the App Store</title>
            <link>http://www.revelary.com/blog/slight-snag-with-faceover-submission-to-the-app-store</link>
            <description>Rejected! The app review team rejected Faceover because one of my screenshots was &quot;objectionable&quot;. Apparently the screenshot of my sister in her &quot;Arab man&quot; Halloween costume is not appropriate for all ages. Isn't that funny? Fortunately they didn't reject the app itself so I just had to remove the screenshot and reply back to their email. After that you'd think the app would be approved, right? Nope. The status changed back to &quot;In Review&quot;. :)&lt;br&gt;</description>
            <pubDate>Tue, 10 Aug 2010 22:54:57 +0100</pubDate>
        </item>
        <item>
            <title>Faceover In Review</title>
            <link>http://www.revelary.com/blog/faceover-in-review</link>
            <description>It's been 7 days and about 5 hours and my application status just changed from &quot;waiting for review&quot; to &quot;in review&quot;. Supposedly the &quot;in review&quot; part of the process takes about 24 hours so I might have an app ready for sale tomorrow!&lt;br&gt;&lt;br&gt;Last night I worked on a Faceover bug that has really been bothering me. The problem is that whenever part of the image is copied, the visual quality of the copy degrades slightly. This is especially noticeable for low resolution images. After spending two or three hours on it, I have not figured it out yet but I think it might have something to do with scaling the copied image to fit the selection oval. I haven't found anyone else online with the same problem yet so my next step is to set up a minimal sample app to try to narrow down what might be causing it.&lt;br&gt;&lt;br&gt;In other news, I've got Faceover Lite almost ready to submit to the App Store. I'll wait until Faceover is officially released first and then Faceover Lite will follow.&lt;br&gt;</description>
            <pubDate>Tue, 10 Aug 2010 16:40:36 +0100</pubDate>
        </item>
    </channel>
</rss>

