Hello, I'm Sig.  I develop cool things.

Some Cool Coding Tips

I was doing some nighttime programming for fun, and came across a bit of code I had to look up (i.e. search on the web).  In C#, I was familiar with ternary operators.  I love using them when appropriate.  It turns 3 ~ 5 lines of code into one pretty, simple statement.

When I came across a coalescing operator, my head exploded (ok, that may be a bit over-the-top…).

Coalescing operators have a fantastic usage (particularly in C#) with nullable objects.

Example time!

Lets say we’re posting data to a form.  The form contains a name (which is an optional field) and birth year (another nullable field).

Assuming we have a “Person” object, that takes a string and integer for a birthdate, we could code that up as follows to handle the null-case of those objects being passed in.


public void doThis(String? name, int? birthyear)


Person p =  new Person();

  // option #1 - if statements




        p.name = “Bob”;

  if(birthyear != null)

        p.birthyear = birthyear;


        p.birthyear = 1902;

  // option #2 — ternary operators

  p.name = name!=null ? name : “Bob”;

  p.birthyear = birthyear != null ? birthyear : 1902;


  //option #3 — coalescing operator

  p.name = name ?? “Bob”;

  p.birthyear = birthyear ?? 1902;



How about that for a super quick example? I’m not sure how useful this is, but it seemed like a cool little tidbit of information to come across that I was previously unaware of.  Maybe it’s time I start reading up on the changes between C# 3.0, 3.5 and 4.0.   If I start doing that, I’ll need to look in the differences between Java 6 and 7 (I have 5 and 6 down pretty well), and don’t get me started on PHP 4 and 5…

Ah well, that’s all.  Hope someone on the interwebs finds this useful!

$100 in 100 days. Making Money on Android.

This is the first in what I hope to be a series of three blog posts discussing monetization on Android.  I recently attended O’Reilly’s Android Open Conference held here in downtown San Francisco.  It was a great event with plenty of fantastic speakers.  One speaker presented 50 business models in 20 minutes.  While the talk was great, I thought I’d try and bring about a slightly different focus on app developers monetizing their hobby apps.

I’ve been curious about making money on the Android marketplace for a while, and have read a few other blogs and articles about such information.  I’m inclined to start fresh.

The question I’m setting out to answer is: what does it take to make $100 by making an Android application.  I plan to launch three different types of applications.  Each of these applications will be in a distinct category within the marketplace.  Each app will also be infused with as much analytical information as I can possibly gather.

The soul purpose of the analytics is so that I can share some pretty charts and graphs about what my apps users are doing.  What types of users respond to advertisements, what types of users are willing to pay an up-front fee for apps, and what in-app purchase mechanisms work well for an audience, etc.

If this were a scientific test, I would do three different apps in three different categories and do a comparison based on that information.  Due to the fact I’m only composed of two hands and one brain currently, I’ll be a little bit more limited than a team of developers looking to answer my rather basic questions (for only $100, too). 

My hypothesis is that in-app purchases will be more difficult (i.e. not as fruitful) on the Android Marketplace than the Amazon Marketplace.  Further, I  think advertisments inside of apps will be almost useless in terms of monetization.  Lastly, I think the freemium / premium app versions will be the best bet.  Give a user a decent ad-enabled free app, and remind them that they would really like to drop a buck or two for the ad-free version at a later date.

I started some small development on these apps this weekend, and after I get some UI help from a friend, will launch them with Google and Flurry Analytics.  From there, I’ll wrap the apps up, launch them in the marketplace, and report back accordingly.