Friday, September 25, 2009

Evaluate your iPhone app competition

I develop apps for other people. Often they will come to me with their app idea and their dream to make a lot of money on the app store. Seldom have they actually done any research on the app store about their potential competition.

I came across an article today that was well thought out in this regard. http://timcascio.wordpress.com/2009/09/03/how-to-determine-which-of-your-iphone-app-ideas-has-the-most-merit/ The key part I am quoting below. On a side note, for me, the lack of the ability to examine the competitive landscape is the biggest reason that I have not done anything for the Android platform. You have to have a device, and a cell plan to support it in order to browse the Android store.



"Close evaluation of the competition is critical and often forgotten step. You can have strong development, design and great marketing, but overlooking the competition can prove fatal.

The iPhone App Store is an open book with over 65,000 apps. Use this to your advantage. Scour the store for apps that appear to compete with yours.

Download free and paid versions to kick the tires.
Focus first on those with the highest number of reviews.
Read the reviews to see what people like about the apps and what they don’t.
Pay close attention to the feature requests.
Read the application descriptions to see how your competition is positioning their app and consider how you should differentiate yourself.
Make comparison of pricing and feature sets offered by your competitors.
Once you’ve identified your short list of competing apps, search Google to see how those apps are being promoted outside of the App Store via YouTube, Twitter, forums, publicity and websites.
Create a competing apps spreadsheet or database to capture all of your competitor information in one place and update frequently over time."

Thursday, September 17, 2009

UIScrollView with controls

Apple has created a number of samples on how to use a UIScrollView control. But all of them are for scrolling graphics and not for controls. What I wanted to do was to have a view that was taller than the device and allow the user to scroll through the controls on the page. And I didn't want to use a TableView to do it. I wanted to use IB.

I finally found the right clues in an old discussion forum post. http://discussions.apple.com/thread.jspa?messageID=9060384

Here is the Cliff Notes version.

Create a new ViewController. Open the xib in interface builder. Delete the view control and replace it with a UIScrollView. Be sure to link the UIScrollView as the view for the File's Owner.

Go back to your code and add a UIScrollView reference in your .h. e.g.
@property (nonatomic, retain) IBOutlet UIScrollView* scrollView;

Don't for get to link it up in IB.

Now in your viewDidLoad method, add the following line:

scrollView.contentSize = CGSizeMake(320, 700);

Now you can add all the controls you want to the UIScrollView control over in IB. Labels, buttons, everything.

I'm surprised that there isn't an easier way to do this in IB. And if there is, it isn't obvious to me how to do it - so please share.