Monday
01Feb2010

Minor fix to Gaia Flash Framework

We recently started using Gaia Flash Framework on a microsite project.  In case you don't know what Gaia is, it's a very well-written navigation framework for Flash microsites, though not so much for games since game's interaction flow is usually highly customized.

The nice thing with Gaia is it doesn't take much to get up to speed and running with it.  While playing around with the Gaia demo code, there was one minor hiccup I ran into:

If you compile the individual page fla that makes any Gaia API calls (such as Gaia.api.getPage), you will get a runtime error.  This makes sense since Gaia API is not available at this point, but it's nevertheless annoying because in the course of developing a site using Gaia, you will be compiling individual pages a lot.  Getting these errors when testing the page individually can be a bit of a distraction.

The solution to this problem turned out to be quite straightforward.  A quick browse at the framework code shows that Gaia API uses GaiaImpl and GaiaImpl is instantiated in GaiaMain class (via the ungodly name GaiaImpl.birth()).  Since GaiaImpl is being used as a singleton and it has no dependencies with any other classes, there is really no need for it to be instantiated inside GaiaMain.  So I commented out the GaiaImpl.birth call in GaiaMain and instantiated GaiaImpl via static initializer instead.  With this single change, the page will now compile properly even though it doesn't go through GaiaMain.

public class GaiaImpl implements IGaia
{
  private static var _instance:GaiaImpl;

  // static initializer

   {

      birth();   

  }
  ...

}

 

Thursday
28Jan2010

Error launching remote program: security policy error

Tried to debug a media browser component we are developing today and got this error when trying to run the build on our test iPhone: "Error launching remote program: security policy error".  The build was working fine on another test iPhone, so what could have caused this?

After trying a few different things that didn't seem to bring me closer to the solution, I went into Organizer and started looking at anything that is different between the two phones, the only difference I see is that the current iPhone has a few provisioning profiles that have already expired while the other working one doesn't.  I proceeded to delete all provisioning profiles that have expired and the app deployed to the phone properly!

 

 

Thursday
14Jan2010

What if everything in your house is a white board full of ideas?

Then you need Idea Paint.  Log this into your Idea Organizer today and turn your house into a giant Idea Organizer one day.
Wednesday
11Nov2009

Can you make a living creating iPhone apps?

These days there have been many talks on how App Store has reached 100,000 apps and it's getting very hard to get exposure.  These are all true sentiments, indeed, the gold rush is over.  No longer can you hope to make $200k just off of a crappy piece of software.  In addition, because of the sheer number of apps fighting for attention, the need to market your app has to be an integral part of your app development plan.  It's sad but true -- a mediocre app that has a powerful marketing engine is likely going to do better than a good app without marketing behind it.  The next question naturally becomes: can I still make a living off of developing for iPhone if I don't have the marketing might like those of the big corporations?

The answer is YES, but with a few conditions.  Firstly, your app has to be the best in its class.  If you can't make it the best in its category, try it narrow it down until you can.  For example, if you can't beat EverNote in trying to be the do-it-all note-taking app, narrow it to be the best simple note-taking app or the best quick note-taking app.  Unless you are confident that you can make your app the best there is in the category that you define, don't do it.  Secondly, you have to be patient.  It takes time for your app to get noticed and it will also take more effort than you like (esp. for the less business-minded people) to market it.  You also have to be patient in order for luck to strike, if ever.  Maybe Apple notices your app, maybe a few hugely popular press or blogs notice your app and report about it.  Thirdly, you have to continually improve your app, and to do this, you must have a good feedback loop.  Make sure your app provides a way for users to submit feedback to you.  Make sure you take the time to reply to all your users' feedbacks and concerns.  They may only pay you $0.99 for your app, but you must give no less than $99.00 worth of customer service back.  If they are not happy with your app, try to come up with a way that will make them happy.  If they are still not happy, try to find a way to refund the $0.99 - the money should be spent somewhere else, just not on your app.

The truth is, even though there are 100k apps on App Store today, the very nature of bell curve is very much at work here.  That is, most of the apps on App Store are simply noises, only a very handful of them offer true values to its users.  If you can use this fact and make sure your app doesn't fall into the first two standard deviation (99% of the apps out there), you have a good chance at making it big.  Judging from the stats we have gathered from selling Idea Organizer, as long as you have 3+ apps that are in Top 100 in its own category, you will make more money that working for just about any company out there, and that's not a difficult goal to hit at all.

 

Wednesday
11Nov2009

Push Notifications with Urban Airship

Seriously, if you want to do Push Notifications without spending a ton of time sweating the server-side of things, look into Urban AirShip.  I tried out their service the other day and got my push notification test up and running within 30 mins.