Off the top of my head:

Pros:

  • The obvious: no more lite versions! Apps can have a fully-functioning trial period.
  • Paid upgrades! Apps can now offer upgrade pricing to existing users.
  • Upgrading from the trial version to the full one (or any future version) no longer means lost data for users, they can continue using the app as normal.
  • In-app purchases provide better protection from piracy; to my knowledge, apps can’t illegally install DLC. It’s also nice that Apple is finally acknowledging iPhone piracy.

Cons:

  • The free section will now be muddied with totally free apps and “partly free” ones. This can be remedied by separating the listings, or prominently displaying a badge for apps that have DLC.
  • Free apps have notoriously bad ratings, usually disproportionate to the quality of the app. So any paid app that gets listed as a free app with unlocked functionality will suffer, ratings-wise. Perhaps Apple can again restrict rating only to those users that have both downloaded and paid for the app.
  • Apple lied – again. Apparently, free is no longer always free. But does anyone really care?

As a whole, this is excellent news: it solves many existing problems with the App Store, and only introduces very minor issues that can easily be addressed.

Posted on Friday, October 16th, 00:24. Filed under: News, iPhone

At some point I want to put together some App Store numbers, but until then, here’s something unexpected I noticed today: 96% of all pirated copies of Converted are from China.

The iPhone is not officially on sale in China, which means that probably close to 100% of Chinese iPhones are jailbroken, and so it makes sense that piracy would be widespread. But still, 96% is a huge percentage.

Posted on Thursday, March 12th, 02:03. Filed under: Converted, iPhone

It seems Apple has finally made some much needed improvements to the review section of the App Store.

I just visited the store, and noticed that reviews now display the version they refer to. There is also link to just display reviews for the current version.

My favorite change, however, is that there is now a much bigger distinction between “ratings” and “reviews”. Up until now, a user could just rate an app with stars (either on the App Store, or via the misguided “rate after deletion” functionality) or write a full review, accompanied by a star rating. This led to situations where the reviews could all be 5-star, but the average rating of the app would be lower, because of the “invisible” ratings.

Next step: some tools to actually read reviews without trolling every single App Store, and a way to respond.

Posted on Wednesday, March 11th, 20:03. Filed under: Mobile, iPhone

I’m lazy – really lazy. So when I decided to create a free version of Converted, my first thought was: “How do I set this up so building the two versions and keeping them in sync requires no extra effort?”.

Since I’m no Xcode expert, it required some deliberation (and digging), but eventually I came up with a solution that fulfilled these requirements:

  • Both versions should be built from the exact same codebase; no branching or separate projects.
  • After the initial setup, building either version should be no more than a couple clicks; no edits whatsoever!

The solution hinges upon simply using 2 different Info.plist files. Apart from some Apple-specified keys that have to be set in each file, I also added (amongst others) a key for a boolean that controls the version (eg. XXIsLite). Within the code, the different functionality between the 2 versions is controlled by observing that boolean value.

Now normally, this solution is A Very Bad Idea™: a sneaky user of the trial version could just open up the bundle, change the key and gain access to the full version. On the iPhone however the bundles are signed, so this isn’t possible (I’m obviously discounting jailbroken iPhones that bypass the codesigning – anyone who goes to that much trouble to save a couple bucks is beyond help).

So here’s the process I followed, more or less:

  • In the ‘Groups & Files’ list, select your info dictionary file; by default, this is called ‘Info.plist’. Add a new line, set the key to something along the lines of ‘XXIsLite’ and the value to ‘NO’.
  • Again in the ‘Groups & Files’ list, expand the ‘Targets’ group. Right-click on the target that builds the app (in my case, Converted). Select ‘Duplicate’. Rename it if you like, eg. ‘Converted Lite’.
  • At this point it’s best to change the product name as well, so right-click on the new target and select ‘Get Info’. In the ‘Build’ tab, select ‘All Configurations’ from the configurations pull-down. Type ‘product name’ in the search box; change the ‘Product Name’ setting to something else, eg. Converted Lite.
  • Back in the ‘Groups & Files’ list, notice that Xcode has also duplicated your ‘Info.plist’ file and created ‘Info copy.plist’. Rename the new file to something else, if you like, such as ‘Lite-Info.plist’.
  • Setup the new info dictionary. At a minimum, you must change the bundle identifier to be different from the full version (com.codingcurious.ConvertedLite in my case) and set the value for the ‘XXIsLite’ key to ‘YES’.
  • Optionally, you can define a different home screen icon, a different display name or any other key-values you’d like to be different on the trial version.
  • Lastly, if you haven’t already, implement the code that will differentiate the trial version. Define certain “choke points” (the fewer the better) in your code where you check which version it is and modify or subtract certain features. For example, in the flip view Converted adds an additional “solicitation view” for the trial version that directs to the full version download page.

When you’re done, all you have to do to build either version is simply set the active target and build. This way, you can release updates for both the full and trial version with no extra effort at all!

Tip: when directing to the App Store, replace ‘itunes’ in the link with ‘phobos’; this will send the user directly to the App Store, without first launching Mobile Safari. For example,

http://itunes.apple.com/WebObjects/MZStore.woa/...

will first launch Mobile Safari and then redirect to the App Store, while

http://phobos.apple.com/WebObjects/MZStore.woa/...

will open the App Store immediately.

Posted on Thursday, January 29th, 20:12. Filed under: Converted, Xcode, iPhone

Despite the Palm Pre being the biggest news to come out of CES, I hadn’t really given it much attention, apart from the occasional headline or photo. I mean, it’s Palm, nothing good has come out from there in years!

And then I watched the CES Pre introduction video (here), and I have to say it: Wow. Sure, the device might be clunky, the battery life is uncertain, animations left a bit to be desired, and 3rd-party app development is something of a question mark, but what blew me away was how the Pre just nails the workflow. Everything is connected into one seamless experience, from messaging to the internet to notifications. Jumping from one activity to the next is effortless, and the information is always there.

It’s obvious that Palm went back to square one and threw away absolutely everything: not only their own technology, but also every preconception about how a mobile device should work. The Pre redefines the mobile workflow in such a way that it makes the iPhone look as archaic in design as the iPhone did its predecessors. This is the way a “personal digital assistant” should work!

It borrows heavily from the iPhone in some areas, like the device button layout, or the scrolling and zooming gestures, but then leaps forward and disposes of all the traditional mobile clutter. The gesture area, the ‘Card Deck’ concept, Synergy, and above all, the inobtrusive notification system shift the focus from managing applications to flowing through activities. In some cases during the demo, it wasn’t even clear where one application ended and another started: they were all seamlessly inter-connected.

Granted, these were just some of Palm’s first-party apps; it remains to be seen how well the third-party ones fit into the experience. But with Apple’s comparatively weak push notification system still MIA, Palm’s bold new design looks very promising indeed.
It also remains to be seen if Apple will be able to match or surpass the innovations found in the Pre; the iPhone is due for a refresh around the same time the Pre will be available. One thing’s for sure, however: competition is never a bad thing.

Will I buy a Pre? Probably not; it’s not even going to be available outside the US for quite a while anyway (due to EVDO), not to mention I’d be loath to go back to carrying a stand-alone iPod.

But it’s the first true innovation in the mobile space since Macworld 2007, and that’s exciting. Apple, your move.

Posted on Thursday, January 15th, 14:46. Filed under: Mobile, News, Opinion, iPhone

Next Page »