Breakdown of an App… what makes an app?

Have you ever wondered what goes into an app? Here is a detailed breakdown of “The Artifacts”, perhaps shining some light on how much work it is to create an app like this.

Sound Effects:
202 different sound effects.
10 MB.

Here are the sounds effects for page 6 (click to play):
wind03
wind02
wind01
crash-of-bin
chimes02
chimes03
chimes04

Graphics:
Over 1000 separate graphics frames, on 240 individual files. Many frames are combined into one graphics file to make it faster.
68.7 MB.
Here is one of our graphics sheets, from the Caterpillar page (page 6).

Music:
2 Music tracks.
6.9 MB.
You can download the music from The Artifacts (it’s free) here.

Code:
Around 12,000 lines of code, not counting framework.
Around 5 MB.
Here is a sample from the Fireflies page (Page 20), this piece of code adds a new firefly.

-(void) addFireFlies: (int) count: (CGPoint) loc
{
    NSString *fireflyname = getRelevantFile(@"firefly-%02d", @"png");

    for( int x = 0; x < count; x++ )
    {
        firefly[fireflypoint] = [CCSprite spriteWithSpriteFrameName: 
                         [NSString stringWithFormat:fireflyname, 1]];
        scaleToDevice( firefly[fireflypoint] );
        [p24sheet addChild: firefly[fireflypoint]];

        [firefly[fireflypoint] setPosition:loc];

        [self stopAnimWings:firefly[fireflypoint] data:fireflypoint];

        fireflystatus[fireflypoint] = FF_NOTMOVING;

        fireflypoint++;
    }
}

Hopefully you’ve found this enlightening, we had a lot of fun creating it! If you have any questions on the development of an App, I’d be happy to answer them for you.

Pros and Cons of Universal Apps

Most of you are probably already aware of what Universal apps are, but for those who aren’t let me give a brief description:

On the App Store, there are two device categories. iPad and iPhone/iPod Touch. Each device category has its own App Store, with its own list of apps.

Universal apps are configured to run in both categories, and should work on all supported devices. Now this is a great deal for consumers buying apps, because you basically get 2 for 1. Buy an app on the iPad, and it is linked to your iTunes account, so that you can then download and use it on your iPhone or iPod Touch at no extra cost. Our first app, The Artifacts, is a Universal app. You can tell a Universal app, by the little ‘+’ plus sign next to it in the App Store.

Ok now that I’ve explained it, lets go through a few pros and cons of this system;

 

Pros

  • Savings: Consumers can use an app on any device that is linked to their account, and they only have to purchase once. Obviously a pro for the consumer, and generally speaking, a happy consumer makes a happy developer.
  • Convenience: You might hear about a great app from someone you know.. but you only have your iPhone on you. You can buy the app on iPhone, and then later download it on the iPad, because it’s linked to your account.

Cons

  • Development time: It takes quite a lot of extra work to be able to support all device types in the one app (different screen resolutions, memory requirements, etc).
  • App size: Because you need to support different device resolutions, you need to have all the device graphics in the one app. This makes for a much larger app, especially for the smaller devices. The Artifacts for example is around 92 MB. It would be reduced to about 40 MB if it only worked on the iPhone/iPod touch. Our next app, Midnight Feast, supports iPad Retina images (2048 x 1536), which are 4 times larger than iPad images. Apple could provide some support in this area. If we could make “custom” versions of universal apps, it would fix this problem. It would work in a similar way to having different device versions of the same app for sale (so you’d have to buy two copies. One for iPhone/iPod touch, and one copy for iPad), but just make it universal instead so you only have to buy one.
  • App Store ranking: Now this is a biggie. Any developer knows that it’s important to get a high ranking in the App Store. The problem is, if the app is universal, it’s effectively ranked by each device. This means that if someone buys an app with the iPhone, it only affects the ranking for the iPhone store. This is clearly a poor solution, because it puts universal apps at a disadvantage. I’d like to see Apple give rankings for Universal apps based on the total downloads, not on downloads from each individual store.

It’s really hard to tell, because Apple do not provide the stats, but from the store rankings alone, we notice that we’ve had quite a few downloads on the iPhone/iPod Touch side of things.

We’ll continue to make universal apps, but I really hope Apple starts to support them in a way that helps the publisher AND consumer.