Archive for

March, 2010

...

My take on iPhone vs android phones

no comments

The android phone to me is a me-to device.  When meeting people with android phones the first thing that comes to mind is not “wow cool phone” it is “poor guy – he was not able to get an iPhone”.  I am in the same boat – I am on T-mobile and I refuse to buy a $300 hand-me-down iPhone on e-bay so I still use my 2 year old blackberry phone.  I do not believe that anyone goes to their carrier to get a new phone and think “I really want an android phone” (except for a few hardcore geeks and lifehackers) – but people are very excited to get their first iPhone.

Now, I was very excited at the end of 2008 when rumors were that Google was going to launch their new phone and totally change the customer/carrier cell phone relationship.  Obviously I was sorely disappointed when the Nexus One came out and it was still tied to a carrier plan (true it is not absolutely tied but at the price of $500+ for a phone I consider it as such).  In retrospect the interesting thing is that I was not excited to get an android phone – I was excited to get an iPhone-like phone and to be able to break the contractual relationship between me and my carrier.  Don’t get me wrong – I love T-mobile – that is the only reason why I am still using my old blackberry.  But for a phone to really be revolutionary it would be great to get it without a 2 year jail sentence called a “contract”.

Depending on what comes out this summer and for what carrier I may sign up for another go to jail card and finally get the device that I have been developing for for the last 2 years.

Share

Using audio services to play alert sound

no comments

Some times it your application may inadvertently quit with out the user meaning to quit your app.  For example people run with the running/GPS app and the iPhone may be in a pocket / arm band / hand where the square button could be pressed unintentionally.  If the app quits while running it will not collect running data for the rest of the run and the user will be very disappointed.  To avoid this I have setup an alert which will make a sound if the user quits the app while the app is collecting running data.  I was able to find the original apple alert aiff files via Google and I chose to implement the Indigo sound as the alert – the cricket is not really loud enough to be an alert sound.

By implementing the playback of the sound as an alert sound the sound will be played even on the 1st gen iPod Touch which does not have a speaker.  Alert sounds can also be set to finish playback after the app finishes – which is an important feature for this use.  I was able to find how to set this property on Nagano’s blog.  Not sure what most of the page says but the language of Objective C is universal. Remember to add the audiotoolbox to your project.


#include <AudioToolbox/AudioToolbox.h>

I then load the sound in the viewDidLoad init function for the view controller where I want to play the sound – this way you are not trying to load the sound as the app is quitting.  The soundFileObject isa global for this VC.

// SOUNDS
 NSString *path = [[NSBundle mainBundle] pathForResource:@"Indigo" ofType:@"aiff"];
 NSURL *fileURL = [NSURL fileURLWithPath:path];

 OSStatus err;
 err = AudioServicesCreateSystemSoundID((CFURLRef)fileURL, &soundFileObject);
 if(err) {
   DLog(@"AudioServicesCreateSystemSoundID err = %d",err);
   exit(1);
 }

 UInt32 flag = 1;
 err = AudioServicesSetProperty(kAudioServicesPropertyCompletePlaybackIfAppDies,
     sizeof(UInt32),
     &soundFileObject,
     sizeof(UInt32),
     &flag);
 if(err){
   DLog(@"AudioServicesSetProperty err = %d",err);
 }

Then under viewWillDisappear I have the following:

 if (runActivity.isStarted) {
   // play alert sound if exiting while running
   AudioServicesPlayAlertSound (self.soundFileObject);
 }

This way the sound will play if the view is unloading while the user is expecting the app to be collecting data.

Share

Driving traffic to your app by launching free tools

no comments

LogYourRun is a site for active people – runners, hikers, and cyclists.  To generate interest and app sales for the paid version of the LogYourRun iPhone app I have decided to launch a series of free running tools.  The hope is that the target audience of LogYourRun will be looking for apps that can solve simple problems for them – such as measure heart rate and calculate heart rate zones and calculate pace based on distance and time – and they download these apps they will see advertisement for the paid LogYourRun app which will potentially dive sales of this app.

Here are the free apps:

  1. A free version of the GPS/pedometer app.
  2. A free heart rate measurement tool.
  3. A free Pace Calculator

All of these are tools that runners might look for on the app store and all of these apps have links to the full LogYourRun app and the YouTube video showing what a great app that is.

The LYR Free (GPS/pedometer) has been in the app store for several months but interestingly has not been hugely successful maybe because of the lack of brand name recognition or because the paid version is so cheap

The Heart Rate tool (HR) has proved to be hugely successful – probably because it is one of the few free apps that will let you measure your heart rate and calculate your heart rate zones.  I still need to integrate pinch analytics to see if this is actually driving traffic to the full app – but since the HR app has launched the sales for the full app has gone up 3 fold.

The Pace Calculator will go live this week and I look forward to seeing the response to this app.

Share