Thursday, January 27, 2011

App Store marketing advice from the author of Flickpad

Mobile Orchard has a great interview with Chad Podoski, the founder of Shacked and creator of the Flickpad iPad app about his experiences marking his app in the App Store.

Chad covers a lot of interesting ground:
  • How often to release updates
  • Dealing with 1 Star reviews
  • Handling third party services like Facebook
  • App review sites
  • The impact of being featured by Apple and Daring Fireball
  • Screencasts
  • Advertising on review sites
  • Using Twitter
  • Free and ad supported versions
  • Pricing and sales

As you can see, there's so much great stuff here.

Tuesday, January 25, 2011

Using heapshot analysis to find memory leaks

If the memory use of your Mac or iOS app keeps growing, check out When is a Leak not a Leak? Using Heapshot Analysis to Find Undesirable Memory Growth for an awesome in depth look at debugging this kind of problem.

Saturday, January 22, 2011

Ten Billion Apps Downloaded from the Apple App Store

This morning, Saturday, January 22, 2011, just around 2:25AM the 10,000,000,000th app was downloaded from Apple's App Store.


This is yet another milestone in the company's recent list of come-back accomplishments.  With iTunes and the App Store almost instant successes what lays in store for Apple's latest outlet the Mac App Store?  Will it follow the same booming success?  One would think so, or at least I do.

Good job and good luck to all those near billionth app downloaders.  May you win that $10,000.00 iTunes gift card and thank you Apple.

Thursday, January 20, 2011

Building an iOS Beta Network - Collecting Device Information

When building out an AdHoc network of beta testers for your iOS app it is important to make the process easy for the end user and to be sure that there is no error when entering data.  Collecting iOS device information from users goes something like this:

  • Email user for the iOS device UDID
  • Ask for the model/version
  • Ask for the currently installed iOS
  • User gets the email, computer and iOS device in hand
  • Attach device to computer and launch iTunes.
  • Select your iOS device from the Left column
  • Select the Summary tab
  • Mouse over the Serial Number and click (to reveal the UDID)
  • Highlight the UDID and Copy it
  • Go back to your email and reply
  • Paste the UDID
  • 1)  Enter the rest of the information from memory (ack!) OR
  • 2)  Copy and paste, back and forth for the rest of the data.
  • Optional: take a screenshot (for verification on the developer’s end)

Done!  Simple, yes?  No, not really.  As you go along you see that unless they are copying and pasting the data, there is always room for error.  This also applies to in-house devices as a matter of bookkeeping.

To make the process easier for ourselves and others we created Device Profiler and made it free for the community.  When launched on the iOS device it gathers the name, model,  system name and version as well as the UDID.  You then press a button to send an email with the gathered device information.  The process can go like this:

  • Email/SMS user the link to the app (in iTunes)
  • Tap/Click the link
  • Download Device Profiler
  • (if on a computer launch iTunes and sync)
  • Launch Device Profiler
  • Tap “Email device profile to...” and type the email address of the person you’re sending it to.

Done!  Simple, yes.  Or at least easier and with less of a chance for typos.  For the adventurous developer the email’s are formatted the same way so that you can automate a script on your mail server or or use a rule in your email client to filter these emails for processing.  You also have the email address so that you can send out the credentials (AdHoc Provisioning Profile) to the user.  It is a win-win situation for everyone.

If you use Device Profiler let us know.  Or if you have any suggestions as to the product, we’d love to hear from you too.  Cheers and happy developing!

Wednesday, January 19, 2011

iOS Dev Tip: TextWrangler reads binary Plists

TextWrangler is the awesome free text editor from Bare Bones Software, the makers of the widely used Mac text editor BBEdit. I mostly use Xcode and Eclipse for editing code these days, I keep TextWrangler in my dock for lots of miscellaneous text editing needs. Today I found one more great reason to have it.

If you use the NSCoding protocol on your model classes to create NSKeyedArchiver archives, you know that NSKeyedArchiver uses some strange binary format by default. If you try to examine an archive file, you'll see a lot of binary gibberish starting with "bplist00". This is actually a binary version of Apple's common XML Plist file format.

Archive files aren't exactly easy to grok since they contain a lot of meta-data like the classes of objects in the archive and the relationships between objects, but being able to look at the XML can sometimes be a big help when debugging.  And TextWrangler automatically does the right thing with them.

TextWrangler is available in the Mac App Store and I highly recommend it.

Thursday, January 6, 2011

Is the Mac App Store Armageddon for Mac Developers?

David Gerwirtz over at ZDNet writes that he expects "to see Mac software prices dropping by 90-95% within a month" after Apple's new Mac App Store today. His thesis is that prices in Mac App Store will rapidly sink to match prices in the iOS App Store, where many apps are sold for a dollar or two.

I think he's only partially right.

Gerwirtz cites Markus Nigirin's insightful piece about how developers are responding to the Mac App Store. Nigirin talked to four indie iOS developers who will be offering Mac versions of their iOS apps. All of their iOS apps currently sell for $4.99 and under and they will all be selling their Mac versions for about the same price. Compared to current pricing for many Mac apps, this would seem like a recipe for disaster for Mac developers.

Certainly any Mac developer that hides their head in the sand and pretends that nothing has changed is likely in for a world of hurt. But that's true for any company that ignores changes in the competitive landscape. Just look at how RIM is flailing around trying to respond to the iPhone after ignoring it for several years. Yet Google's Android team recognized how the iPhone changed the game and quickly moved to compete with it—Android is now the iPhone's chief competitor.

Yet I think there is more to high Mac software prices relative to iOS apps than Gerwirtz talks about. And there are different types of Mac developers; they're creating apps for different audiences—they will respond differently to the Mac App Store.

Makers of highly specialized applications targeted at very specific scientific, technical and business markets will largely be unaffected by the Mac App Store. Some may decide to sell their apps through the store, but others will stay with their existing sales channels, particularly if they also sell training and support for their apps. Nor will there be any pricing pressure on them due to the Mac App Store; development costs generally outweigh distribution costs for apps with small markets, and there are few (or often zero) direct competitors.

Developers of mass market apps like games will feel the most pressure from the Mac App Store. Ignoring the App Store is probably not a viable strategy for them. Yet mass market Mac developers have already learned to compete with shareware, freeware and open source software. Many of them already have a low cost or free version of their app along side the more expensive premium or professional version: Bare Bones Software's free Text Wrangler versus the $99 BBEdit immediately comes to mind. I don't think the Mac App Store is going to significantly affect their business.

The current higher cost of Mac apps through traditional retail channels is in part due to the higher cost structure of retail selling. It's simply not very profitable for many retailers, particularly brick-and-mortar ones, to sell apps in the sub-$5 range. Mac developers have been setting their product prices based on this reality. And even though direct sales through the web are cheaper, if you also make shrink-wrapped retail sales of your product, you can't afford to undercut your retail sellers by also selling your software direct on the web for significantly less.

Selling through the Mac App Store is different. Apple sells beautiful hardware with large profit margins. The App Store exist only to bolster those hardware sales. While I don't think the App Store is a loss-leader for Apple, I don't think that it needs to be very profitable for Apple to consider it successful. They're more than happy to give developers a generous 70% cut of each sale and accept $0.99 credit card transactions, which are simply unprofitable for many traditional retailers to handle. The big losers here will be the retailers who currently sell Mac software. The retail Mac software market will evaporate as developers shift over to the Mac App Store.

I expect the Mac App Store to increase the overall Mac software market. Like the iOS market, lower app cost, one-click purchase/download/install along with the safety guaranteed by Apple's app review process removes a lot of the friction and uncertainty from the Mac software market. I think this will benefit Mac developers in the long run, even if they cut their retail prices.

ADDENDUM: Ben at Bonobo has similar thoughts.

How do you get to the Mac App Store?

Run Software Update from the Apple menu:


and install the Mac OS X Update version 10.6.6:


After rebooting, you can click on App Store in the Apple menu:


or click on the App Store icon in the Dock:


And voila!  Here comes the App Store!


Tuesday, January 4, 2011

Everything you wanted to know about UINavigationController

Cocoa Dev Blog has a great article that shows you how to programmatically create and customize a UINavigationController. Clear code snippets and iPhone screen shots illustrate each concept—check it out!