Tapku

Archive for the ‘Tips’ Category

iPhone App Store Economics and Theory

Sunday, August 23rd, 2009

The iPhone App Store has received flak from developers for promoting “ringtone applications“, forcing app prices to 99 cents, the lowest common denominator before the application is actually free. This downward price trend can be attributed to the top application charts which many believe don’t fairly measure the best applications. This article will discuss why the App Store’s current structure forces applications to become “Ringtone Apps” and why the pay first business model doesn’t pay.

Visibility is King

For a minute, take all the external factors that might lead a person to purchase an application off the table. Features on the App Store homepage, appearing in commercials or any other form of external advertising or publicity don’t exist. Essentially what your left with is that future sales directly correlate to an applications position on the download charts. (In reality, this isn’t too much different from how the app store is now. The charts dictate, for the most part, which applications are sold and which aren’t. ) Developers are competing with other developers for visibility on these charts because visibility leads to sales. If the app store is all about visibility, then developers play the game of getting the most people to hit the “Buy App” button. You’re left with the fact that not only does the price of an app affect the consumers choice to purchase the application, the consumer has an affect on the future consumer because their choice affects visibility. The App Store market place is unlike any other market place because simply purchasing an item hasn’t ever had such a large effect on future sales. In most market places like desktop applications, the media, advertising and reviews serve as the chief credible filter, and sales have less of a direct impact on future potential buyers.

Pay Up Front vs. Free

After reading Chris Anderson’s “Free” book, its clear that the App Store is a lot like the web. Applications which are closer to free gain more traction, and any business model must be intertwined into free services or free content. Another side of me wants to say the App Store, because Apple locks it down so much, is a return to pay-for model though. You pay an application like you pay for something in a grocery store. In reality, the only real way to get attention is by choosing a lower price because their isn’t a lot of ways to get sales through traditional means. A desktop application might rely on a magazine like Macworld to review the application, but the massive amounts of apps leave review sites struggling to review even a a decent amount of applications that are approved. Instead these review site just re-hash iTunes descriptions. Like application approvals, the media have trouble handling the massive amount of applications.

At this point I wish I could offer some solution to this problem. I think that basing the charts solely off application downloads, and not at least factoring ratings and price into the equations leads to pressure to lower prices. Then again, quality of music, movies and TV shows on the iTunes Store isn’t factored into those charts either and everything seems fine. Those pieces of content are, for the most part, locked into only a few certain price points that the industry as a whole can at least agree on. Applications, by nature, are more varied in price but maybe developers might benefit from a more uniform price like music. All I have to say is… time will tell where the App Store economics go…

Cocoa Touch: iPhone Calendar Month View Class

Wednesday, August 12th, 2009

CONTENTS OF ARTICLE ARE OUTDATED.

calendarview

You won’t find that cool calendar view class you see in the Calendar app in the iPhone 3.0 SDK, but you will find it in the open source Tapku Library. The tapku library calendar view looks (almost) exactly like the one you see in the Calendar app and it acts the same way with the ability to add an indicator for each day that has some piece of information associated with it. The rest of article will step you through using the TKCalendarView and TKCalendarViewController.

The easiest way to use the calendar view is to use the TKCalendarViewController and implement the following Calendar View delegate methods.

- (NSArray*) calendarView:(TKCalendarView*)calendar itemsForDaysInMonth:(NSDate*)monthDate;

- (void) calendarView:(TKCalendarView*)calendar dateWasSelected:(NSInteger)integer ofMonth:(NSDate*)monthDate;

- (void) calendarView:(TKCalendarView*)calendar willShowMonth:(NSDate*)monthDate;

The first delegate method, the one that expects back an NSArray, is the function that sets up the marks for each day in the month. The monthDate variable is the time-stamp for the first day in that particular month requested, like for instance August 1st 2009 0:00:00.0. The array returned should be filled with 31,30 or 28 (however many days are in that particular month) NSNumber objects with boolean values. In terms of programming, this function is a good time to query a database, and store the objects in memory so you can easily display information when a day is selected.

The dateWasSelected method is fired by the Calendar view every time the user selects a new day or they switch months. The monthDate variable again is the time-stamp day for the first of the month and the integer variable is the actual day of that month. You may wonder why this isn’t another date variable. This is just to keep the memory and processor use down as well as make it easier to code on the controller side.

The willShowMonth method will fire when months are swapped in and out. This method is useful when you want to adjust objects in the view because of the resizing of the calendar. Recall, the Calendar app has a UITableView stuck to the bottom of the Calendar view. When the calendar switches months and calls that delegate method, you can resize something like a table view to the new frame height of the calendar view.

To use the Calendar View, download the Tapku Library from github and make sure to check out view and view controller classes as well as the demo app to see the class in action.

Cocoa Touch Tutorial – Receiving & Using the Shake API for iPhone OS 3

Tuesday, August 4th, 2009

Article has moved here: http://devinsheaven.com/cocoa-touch-tutorial-receiving-using-the-shake-api-for-iphone-os-3/.

Cocoa Tutorial: Passing Messages Between Objects: Notifications, Delegates and Target-Action

Thursday, July 23rd, 2009

Article moved here: http://devinsheaven.com/cocoa-tutorial-passing-messages-between-objects-notifications-delegates-and-target-action/

Creating UITabbar / UIToolbar Icons for iPhone in Adobe Illustrator

Monday, July 20th, 2009

Article has moved: http://devinsheaven.com/creating-uitabbar-uitoolbar-icons-in-adobe-illustrator/

Great Resources for the iPhone Developer

Friday, March 20th, 2009

I’ve comprised a list of the best sources for information on developing applications for the iPhone. I share sources great for the actual code part of creating an app as well as the business side of the experience. For the coding part, it goes without say, the best places to start out at are the Sample Codes at Apple developer site and Aaron Hillegrass’s Cocoa Programming for Mac OS X (aka the cocoa bible).

Developer

  • Cocoa Dev Central – Scott Stevenson offers great tutorials objective-c basics as well as Quartz. While these tutorials aren’t iPhone specific, the basics apply to equally to Mac and iPhone development. Relevant articles: Learn Objective-CIntro to Quartz II
  • Apple Blog XML Tutorial – This short tutorial gives an good example of an iPhone app. Its a great tutorial to get yourself aquatinted with the iPhone after working on building Mac applications. 
  • Furbo.org - Craig Hockenberry’s personal blog gives both development and business advice for the iPhone. Hockenberry is one of the chief architects behind the Twitterific application, and notorious for the ‘Ringtone App‘ article. Relevant articles: [REDACTED]Bootstrap
  • mattgemmell.com – This blog is not really focused on the iPhone, but Matt offers a lot of free code that code be really useful for projects. Most notable for the iPhone is the MSTwitterEngine which takes care of interacting with the Twitter API. Relevant articles: iPhone Developer Complaints, MGTwitterEngine

Business Side

  • AppCubby – AppCubby’s blog offers a few lengthy articles on the financials of their applications and the financial viability of the App Store. It’s always great to hear insight in this area especially when their is a trade off between lower prices and visibility of the application. Relevant articles: The ExperimentFinancial Realities of the App Store 
  • Tap Tap Tap – These guys are behind the popular Where To? app. The blog began give good insight on creation process of the app and marketing advice, but since the developers have parted ways and sold the most popular app. As a result the blog has dried up in terms of pertinent info in terms conducting business. Relevant articles: The easy way to get into the iPhone app game… buy a proven appThe design session

iPhone / iPod Touch Music Tip

Monday, March 9th, 2009

I’ve seen a bunch of iPhone usability tips, but I have a quick tip I’ve seen nowhere else. If you have your music playing and the iPhone locks out, instead of needing to slide to unlock the phone to change the current iTunes track, you can instead double click the home button. The play, forward and previous buttons will appear on the screen. You can also adjust the volume on screen or via the buttons on the side of the phone.