After incorporating iAds in the latest version of Egg!, people that weren't on iOS4 were experiencing crashes. I have since fixed this issue and so regardless of what iOS you are running, Egg! will run without crashing. Thanks Mike Park for first bringing this to my attention (or should I thank Lydia?). Also, Apple seemed to push this update through much faster than normal. Thanks Apple. |
I'm an independent iPhone developer sharing my thoughts and experiences on all things iPhone.
18.8.10
Egg! Updated
16.7.10
Egg! 1.2.1, now with iAds
I finally got around to updating Egg! last week to use Apple's new iAds. It's supposed to generate more revenue for developers and make developing free apps profitable. We'll see how that goes. If you haven't already downloaded Egg!, now is your chance.
Next up are graphic improvements to support iPhone4 displays, if I can ever get my hands on an iPhone4...
Also, a friend was telling her friend about Egg! So her friends downloads it and says "my kid loves it." It turns out it wasn't even my app, but a copycat app. Now I know what the original creator of the fart app feels like! Hahaha.
11.5.10
7.5.10
FlashCardz 2.0 & QuoteKeeper 2.0 have been approved
A new feature in both of these, includes the ability to hide individual cards or quotes.
For a student this means that you can build up a stack of cards throughout the semester, then after each exam, you can hide the cards from that exam, but still have them around for the final. This also allows you to hide cards that have memorized to focus more on the ones that you haven't.
3.5.10
QuoteKeeper updated...
Capping off a productive weekend. I was able to update QuoteKeeper to benefit from some of the common changes in FlashCardz. So another app is off for review. In particular, the data handling has much greater stability; so no more random crashes. Also, added the ability to hide individual quotes from the stack (similar to FlashCardz)
2.5.10
FlashCardz 2.0 out the door
So I spent the weekend looking into some stability problems I was seeing with FlashCardz. In my frustration, I completely gutted the data handling portion of the code and reworked it. This took most of the day Saturday, and I was still having problems getting things working properly. I revisited it Sunday morning and got it to work. Since it is such vast improvement over the previous version, this new release will be 2.0. In addition to the stability improvements, I incorporated a change that will allow users to hide certain cards in the stack. I believe that this feature will greatly improve the usability of the app for users.
FlashCardz 2.0 has been submitted and is waiting for review.
30.4.10
Egg⁴! is coming soon...
Egg⁴! is on it's way to the Apple App Store. I was able to get it in working order this week and just submitted it a few minutes ago. So, it should be up some time in the next week, if all goes well.
Egg⁴! is the iPad friendly version of Egg!, and lets you race against your friends and family members to see who can break open the Egg⁴! first. It is a universal binary, so it will run on both the iPad and the iPhone/iPod Touch. It will look like an ad-free version of Egg! on the iPhone/iPod Touch, but the real fun is on the iPad. In the U.S., Egg⁴! will be $0.99.
On a side note, the original Egg! has been well received world-wide. It reached #1 in Indonesia, Israel, & the Philippines; #2 in Costa Rica; #3 in Poland; and #5 in the UAE. I can only hope, Egg⁴! will be as well received.
29.4.10
How much $ from iAds?
So the big question that I've had since iAds was announced was, "How much $ will developers get for using iAds?" Because, if it is not more than what they currently get, there's not much incentive to switch to iAds. A recent MacRumors article says that Apple is charging advertisers $0.01 for each Ad impression and $2.00 for each click. With this information, we can get an idea of what this means for developers.
Taking some data from my Egg! app which is ad-supported by the banner Ads at the top, this is what I have for the past 30 days.
209,697 impressions & 6,507 clicks for a click through rate (CTR) of 3.1%
To get the revenue from these numbers using iAd prices:
209,697 ($0.01) + 6,507 ($2) = $15,110
Of this total, Apple takes 40% and developers take 60%, so:
$15,110 (60%) = $9066
If the numbers being reported are correct, then this is a significant increase over the $158.21 that I actually received (or will receive) from my current advertisers. What would I give up if I switched to iAds? Analytics & custom ads that promote my other apps. What do I gain, over 57 times my current ad revenue. This could be a real game changer. I guess now would be a good time to start integrating iAds into Egg!.
My calculations assume that I will get the same fill rate and CTR that I get now. This may be affected by how many advertisers actually sign on with Apple. If only a few companies sign on, then people will only see those same advertisements over and over again and the CTR will likely drop. If you notice, the revenue from clicks makes up 86% of the total revenue. With impressions alone, I will still get close to 8 times my current revenue; $1257 vs. $158. Not bad at all.
15.4.10
Fun w/UIView Animations
All UIViews have a transform property that you can set, that will be applied to that view.
UIView *myView = [[UIView alloc] init];
myView.transform = CGAffineTransformIdentity;
Here I set the transformation matrix of the view to the Identity matrix.
The CoreGraphics API on the iPhone has a bunch of functions that will create a new transformation matrix and let you apply those transformations to your view. These are things like:
CGAffineTransformMakeScale, CGAffineTransformMakeRotation, CGAffineTransformMakeTranslation, etc
You use these, when you are creating an initial transformation matrix for a particular view. So in my code, I have a view that I want to rotate. The code will look like this:
UIView *myView = [[UIView alloc] init];
myView.transform = CGAffineTransformMakeRotation(M_PI);
Later on, if I want to apply more transformations to the UIView, I will use:
CGAffineTransformScale, CGAffineTransformRotate, CGAffineTransformTranslate, etc
Notice that these do not have "Make", because we are not creating a new transformation matrix, but instead we are operating on an existing transformation matrix. So now, I can translate my UIView with this:
myView.transform = CGAffineTransformTranslate(myView.transform, 25, 75);
To animate these transforms, I can put them in an animation block:
[UIView beginAnimations: @"rotate" context: nil];
[UIView setAnimationDuration: 2.0];
myView.transform = CGAffineTransformMakeRotation(M_PI);
[UIView commitAnimations];
This will rotate my view 180 degrees over 2 seconds.
If you don't use the correct functions, you will likely see some strange behavior and spend a lot of time wondering why things aren't working. This is what happened to me. In my particular case, I was using a "CATransform3DMakeTranslation" where I should have been using a "CATransform3DTranslate".
Once iPhone OS 4 comes out, I will have to redo the animations in my code, because, according to the documentation, "Use of this method is discouraged in iPhone OS 4.0 and later. You should use the block-based animation methods instead".
11.4.10
iAds
So one of the big news items last week in the Apple world was the introduction of iPhoneOS 4. A big part of Steve Job's presentation had to do with mobile advertising, and in particular Apple's solution iAd. When I was releasing my apps, I did some research into different advertising platforms because I wanted to release a free app that would generate ad revenue for me. I eventually decided to go with Moblix and have been very pleased with the developer support and the analytics that they provide me.
Apple's iAd model gives 60% of the revenue to developers and they keep 40%. Will I make more money using iAd or sticking with Moblix? I don't know yet. I guess it depends on what Apple charges advertisers. If I do make more, how much more? Steve didn't mention any support for analytics that tell me how many people downloaded my app, how many people clicked the ads, or how much ad revenue I made on a particular day. Another drawback is that there didn't seem to be any built in support for custom advertising. At the present, I have my own ads promoting some of my other apps; they show up 2-5% of the time.
For the time being, I'm not ready to jump on the iAd bandwagon. That may change if moving to iAds means 2 or 3 times more Ad revenue, but it will still be hard to give up the analytics and custom ads.
But Steve Jobs is right about one thing, a lot of mobile ads are garbage. Hopefully, ad agencies will create more compelling, higher quality ads.
2.4.10
Egg 1.1 has been approved!
Just got the e-mail from Apple. Egg! 1.1 has been approved, so it should hit the AppStore within the next 24 hours. I submitted it Monday night and it was in the "Waiting for Review" state the whole week. So earlier today I sent an e-mail to them asking them to review it before Easter. I said something to the effect, "I know everyone is probably busy reviewing iPad apps, but it will only take 2 minutes to review my app and I want it to get out before Easter." I don't know if sending such e-mails have any effect on the response time. It's very likely that my app finally made it to the top of the queue, but either way it's good news.
I think I mentioned in an earlier post the new button for getting new eggs. Another change is that once you have revealed what's inside, if you continue to tap, you will hear the sound effect again. This was not possible with the way I was handling sounds in version 1.0. I also fixed some visual glitches related to the advertising banner on top.
I hope you enjoy the changes and have a Happy Easter!
7 months later...
31.3.10
Discovered Posterous
If you are unfamiliar with Posterous, the great thing about it is that it will update your twitter, Facebook, and blog all at the same time. And to post, all you have to do is send an e-mail. Previously I had to use twitterfeed to post my blog entries to twitter then use something else to get that to update my Facebook status. I don't even remember what I'm using right now to get my twitter to post to Facebook, but I'm trying to find out so I don't get multiple posts for one entry.
This is actually my first test post.
28.3.10
Egg 1.1 coming soon..
I fixed a bug where sometimes you would hear the lion growl by default, this default sound has been changed. Also, I fixed the visual glitch where the background image was running up into the advertising banner.
As for new features, I added a button that will appear when the Egg! is opened, to let you get a new Egg! This is an improvement over the old way of getting a new Egg!, where you would have to keep tapping on the screen. This is what the new button looks like (highlighted state & normal state).


Hopefully, I'll get to push some even bigger improvements soon.
Egg!'s popularity continues to grow. Last time I checked there were over 3832 users. I have no idea how people find it amongst the 160,000 or so apps on the AppStore, but hopefully people will continue to stumble onto it and enjoy it.
Next thing on the to-do list is to update FlashCardz.
15.2.10
Copycat app
I've made a commitment to donate all ad revenue from Egg! to organizations or individuals in need, so this copycat app doesn't really affect me one way or another. It is just sad that someone would take your original idea and pass it off as their own.
On an unrelated note, I'm away from my desktop so I'm writing and posting this entry completely from my iPhone.
- Posted using BlogPress from my iPhone
28.1.10
Fiscal Year 2009
For the most part this is done with very minimal advertising. The majority of which come from the custom ads for chilidawgsoftware in Egg! (my free app).
As you may know, I also have free versions of both FlashCardz and QuoteKeeper that serve ads and generate revenue from ad clicks. So over the same 6 month period QuoteKeeper Free has generated $56.94 and FlashCardz Free brought in $15.00 for a combined total of $71.94.
One of the questions that I had at the beginning of all this was whether or not I would make more money with ad-supported free apps or from traditional paid app sales. The final answer is IT DEPENDS.
Depends? Depends on what? Well, I think it depends on the type of application. I made more $ from regular app sales on FlashCardz vs. the ad-supported version (more than double). I attribute this to the fact that people who use FlashCardz are most likely using it to study for something, so seeing ads at the top is distracting. So the demand for the paid version is higher than the ad-supported version of FlashCardz. The usage of the free version is actually very low.
However, the ad-supported (free) version of QuoteKeeper made more $ than the paid version even though the paid version was available more than a month earlier. In fact, the ad-supported version of QuoteKeeper more than doubled the revenue of the paid version. My view of this is that ads are more tolerable in QuoteKeeper because people are using it more casually.
What about Egg!? It is by far the most popular app. The ad revenue over the past 6 month period is $128.72; this accounts for 1/2 of my total revenues.
Although, QuoteKeeper and FlashCardz are valuable to people in their respective niches, Egg! seems to be more universally popular. Over the last half of 2009, a total of 3,258 people have downloaded Egg!.
At this point, it's about getting noticed. With over 140,000 apps on the app store and more being added every day, its easy to get lost. I consider myself fortunate that I can get people to see my other apps through the custom ads that show up on Egg!. I'm in the process of getting Egg! to update user's Facebook status as a way to generate more exposure. The idea comes from this blog post. Hopefully, by the end of next year (or sooner) we can add a lot of zeroes to the end of these numbers.
If I add up all app sales and all ad revenue, the grand total is $257.59 for the last half of 2009.
20.1.10
Financial Update - End of 2009

12.1.10
Unwanted Calls
The Silent Ringtone
Instead of blocking calls, you can add them to your contacts and set the contact to a silent ringtone.
I created a contact called "Telemarketer" and added the number of the person that has been calling. The great thing is that you can add multiple numbers to the same contact. (I don't know what the limit is, if there is one).
To get a silent ringtone into your iPhone, just google "iphone silent ringtone" and download one. Then drag the ringtone to iTunes and it will be available the next time you synch w/iTunes.
I know this solution has probably been around for a while, but most people don't look for it until they need it.