Mobile App for Allergy Menus is a real life saver

If any of your friends or family or family have ever had a food allergy, you know how difficult it can be to pick a “safe” restaurant. Most people don’t get it and often equate your allergy with a placebo or best case an intolerance.

This happened to us the other day after a Tampa Bay Rays game when we were trying to find a bite to eat. Two family members in the group suffer from food allergies so it was requested that we eat at a chain restaurant since they are far more likely to have an allergy menu.

Well, long story short, indecision went on for the entire nine innings and post game because we couldn’t agree on a nearby chain restaurant. Either the restaurant was too far away or we weren’t sure if it catered to allergies. So everyone just went their own ways…

If you’ve ever found yourself in this or a similar situation, you need to download the new Food Allergy Menus Mobile App.

It pulls about 100 common restaurants and their allergy menus in to one handy app which makes it easy to see if it is safe for you or your loved ones to eat there. Best of all it’s available for both iOS and Android.

Check it out here for iPhone/iPad or here for Android.

Do you have any other awesome Food Allergy Apps you use? I’d love to hear about them below.

How my Computer Science Degree Actually Hurt my Internet Business

Most online entrepreneurs that I have met are not technical people. More often than not they are visionaries with some other specialize skill set like accounting, investment banking, or general business to name a few.

For these people the fears and difficulty they have is the technical stuff: putting up their website, search engine optimization, or compiling and submitting their mobile app to the app store.

That is why so many of the beginner guides in the Internet marketing space are geared towards non technical people.

For me, the problem was not learning how to put up a website or write code – I’ve done both pretty well for about 10 years.

My problem has been what to do before and after your product is built – things like customer validation or marketing.

Because it is relatively easy for me to build something – a website, an app, an e-commerce site, whatever, I was quick to “fail fast” as the old startup proverb goes, and even quicker to move on to the next shiny object.

While we are on the subject, the suggestion to fail fast is bad advice.  Instead of failing fast, your goal should try to “learn faster than everyone else” as Eric Ries suggests.

I was given the curse of knowledge when it came to the internet.  But to make money online you need to understand a lot more than just how to put up a WordPress blog or how to write code.  In fact, I’ve seen many people better off BECAUSE they don’t know technology.

These people instead focus on the PROBLEM before they figure out a SOLUTION.

But anyone with this “curse” finds it difficult to keep an open mind and learn new things because they already feel that know it.

Like me, I already knew how to start a software company. After all, I knew how to write software. I already knew how to do SEO. My website was in Google’s search results, right?
The problem was that although I know how to write code I didn’t know how to make software useful to people.  And yes, I do know on-page SEO that was valid in 2005 but now-a-days it is off-page SEO that matters most.  But I ignored it.

Many elderly people struggle with a severe case of the “curse of knowledge.”  That is why so many reject new technology or new norms in society. “When I was your age…[Fill in the blank here]”

My point is: don’t be blinded by what you know.

Again, don’t be blinded by what you already know.

Because I knew technology, I THOUGHT I knew how to turn that knowledge into profit. My blinders were on.

It wasnt until I stopped screaming and started listening that the ball started rolling forward.  And believe me it is a lot harder to get the ball rolling than it is to keep it rolling once you have momentum.

Ultimately that is how I got 13,000 mobile app downloads literally overnight.  And no, we weren’t featured in iTunes.

Our app solved an annoying problem and bloggers liked it.

So if you have been struggling with something lately – be it starting a business or getting customers or even becoming a better listener, I suggest that you find somebody that has done what you are trying to do, or is good at what you want to learn and absorb everything you can from them.

There is this strange thing that happens when you hang out with people enough – your traits tend to rub off on each other. The same happens when you live in a country or part of a country. I am from Maine but I live in Florida. Every once Ina while I still catch myself with a little twang in my voice.

So although one might think that knowledge of the Internet might help you with an Internet based business, you might be wrong. It can only help you if you can take off your blinders long enough to look around.

Have you ignored something in your field or trade that is stopping you from getting to the next level?

Sync Gmail Contacts with iPhone

If you’ve ever owned an Android device and recently switched to an iPhone or iPad, you may notice that your contacts don’t sync with Gmail as they did with your Droid.  Bummer, I know.

What this means is that when you get a new device, or if you were to break your old one, you may lose contacts (as I did while going from Droid to iPhone).

The good news is that there is a quick way to get your iPhone or iPad to sync your Mail, Calendar AND Contacts like your Droid did, or as though you had Microsoft Exchange.

 Step 1

Tap the Settings icon on your iOS device and then tap “Mail, Contacts, Calendars.”

iPhone Mail Settings

Click on "Add Account"

Step 2

Under Accounts, tap “Add Account..”, then select “Microsoft Exchange” from the list.

iPhone iCloud, Exchange, Gmail, Yahoo, AOL

Tap "Microsoft Exchange"

Step 3

Enter your email login information: Email, Leave “Domain” blank, username is just your email address before the “”, password, and description.  Then tap “Save.”

Add Gmail Account Details

Step 4

On the same page, a field “Server” should appear.  Enter “” (no quotes, of course).  Tap Save and you should get to the toggle screen that allows you to sync Mail, Contacts, and Calendars with your i-Device.

Mail, Contacts, and Calendars iOS

Toggle on Contacts

Closing Thoughts

Considering that Exchange will set you back a minimum of $708 plus hardware.  This is a nice little hack.


Launch Chrome in iOS (iPad, iPhone)

Chrome for iPad and iPhone was released less than 2 weeks ago and it has been all the rage.  One problem is people face is when they click on a link in other apps, such as the Mail app, it opens the link in Safari by default.  Apple doesn’t have a way to allow you to switch your default browser (as they would rather you use Safari).

However, there are two workarounds, one if you have a jailbroken iOS device, and another that allows you to launch Chrome from any Safari page.

Jailbroken Method (From Redmond Pie)

To get the tweak on your device, you have to add Ryan Petrich’s repo to Cydia from Manage > Sources > Edit > Add. Then you just search for BrowserChooser and install the free tweak, it’s really that simple.

Launch Chrome from Safari Method (from JonAbrams )


Install instructions:

  1. Copy the bit of code up there.
  2. Bookmark this page.
  3. Open the Safari bookmarks, click “edit”, and edit the new bookmark.
  4. Rename it to “Open in Chrome” or something like that.
  5. Delete the URL that’s there and paste in the above code.

ChromeMe Method ( From ChromeMe)

This is similar to above but like the first option, requires a jailbroken device also.

How I Got 12,963 App Downloads in 8 Hours

Today our Coupon Policy App is 9 months old and continues to bring passive income month-after-month.  What started as a problem, then into a weekend project has grown into an actual product with over 25,000 users.


  • Unique downloads to date: 25,000+
  • Emails sent: 40 (November), 12 (July)
  • Google posts on websites posted during launch week: 346,000
  • Cost of gathering and listing coupon policies: $30
  • Hours spent developing API: 10 hours
  • Hours spent developing the app (version 1): 12 hours
  • Hours spent uploading policies: 4 hours


Coupon Policy (iTunes) is a mobile app that allows consumers to quickly reference coupon policies on their phone.

The idea sparked after watching an episode of Extreme Couponing on TLC with family when my sister-in-law mentioned how annoying it was that she had to print store coupon policies when she went shopping because clerks, and often managers, did not know their own store policies.

After validating the idea with a few more friends and family who also shopped with coupons, we went to work.  We already had a mobile app platform for rapid development ready to go, so other than creating the interface and modifying a few features to fit the context of the app, all we needed to do is gather the coupon policies into a central database and create an API to access with the app interface.

The Plan

With the holiday shopping season kick-off (otherwise known as Black Friday) approaching in less than a month, we quickly set a drop dead date.  Our goal was to have a soft release then a more official release the weekend before Thanksgiving – when we would reach out to to several popular coupon blogs.

The Build

I’m a big fan of utilizing open source software.  So we put up a Drupal site to use as a backend so my non-technical partner could start uploading policies in a WYSIWYG editor.  We came up with a list of about 100 stores we wanted in the app at launch, outsourced the gathering of the selected coupon policies to India for $30, and my partner started uploading them as fast we received them.  In between uploads he also started making a list of the top coupon blogs to reach out to when we were ready to rollout our marketing strategy.

While he was working on the policies, I built a custom API to pull the content from Drupal into the app, allow searching, and clean up the content – all of which were not possible in the built-in RSS feeds.

Next, I moved to creating the actual app interface and functionality.  Our goal was to make it as simple as possible so we went with two tabs (“Stores” and “Favorites”), a simple retailer search, and the ability to share the policies via email, Twitter, or Facebook.  Using Best Buy’s infamous yellow price tag logo as inspiration, we settled on a yellow color scheme…plus both our wives like the color yellow (which was the actual reason. The truth shall set you free).

The Launch

Lay-people assume that when you release a mobile app (or a website, whatever) you automatically get lots of downloads, make lots of money, quickly flip the product and retire on the beach of your choice.  This is a highly unlikely scenario.  As expected when we launched not a whole lot happened.  We got a few downloads trickling in but nothing to brag about.

It did, however, give us the ability to get the product in front of real customers, and very quickly they found a couple of bugs that we didn’t.  While I worked on ironing the bugs out, my partner started planting seeds with the coupon blogs we had prioritized.  Once I pushed the fixes out, I joined him by emailing our list of blogs.  Our message to the blogs was not a sales letter nor was it the same for each blog.  We tried to cater to each publisher and relate it with the focus of the individual website, or even an article we might have read on their blog.  That being said, we used the same call to action in each email which basically stated: “We’ve created an app for referencing coupon policies.  Do you think your users might be interested?” and “We are running a special the weekend before Thanksgiving so people can make use of it in time for the holiday shopping season.”  We also used up most of our free promo app download codes that Apple so graciously gives to their developers.

Notice how both statements above cater to the website owner and their readers?  We didn’t just say “hey look at this cool thing we did, feature it on your homepage for us!”  Likewise, while reaching out to each website, we didn’t just give them false flattery either.  Everything we said or complemented them on was true:  “We like your design” or “this article was really useful the other day.”

The (Actual) Launch

Up until then we had only received replies from a handful of blogs; maybe 5 or 6 out of 50.  Even so, most of those wanted some “cut of the action” or “exclusives”, both of which we explained that we couldn’t do because “Apple and Google already take 30%” and “that we can’t track downloads from a specific source right now.”  So we didn’t really know what to expect.  The first day of app discount came and not much happened.  I signed off, had dinner with my wife and went to bed.

When I woke in the morning I did a couple of odds and ends then opened my email as I normally do.  The first page of my inbox was full with feedback from the app.  Page 2 – full. Page 3, 4, 5, and 6 all full.  I immediately logged into my Apple iTunes Connect account to check my stats.  Dammit! I’m on the east coast and Apple doesn’t update the numbers until 10 or 11am EST.  So I called my partner and asked him if he had checked his email.  He said no but that he had to turn off his cell phone in the middle of the night because it kept beeping.  I told him what had happened and that I didn’t yet know how many downloads we got but I received close to 300 emails from app users in 8 hours.

I checked iTunes Connect a few more times that morning with little luck but when I finally saw our download metrics I must have been smiling from ear to ear.

I called my partner and told him the number.  12,963 downloads.  He said “so thirteen-HUNDRED downloads isn’t bad.”  I said “no, thirteen-THOUSAND. Add another zero.”

The Present

– Few more iterations

– Slight redesign

– Adding more coupon policies

– Updating existing polices that have changed

– meetings with a few major coupon and marketing companies

– much requested offline mode (and cached mode for faster loading)

Being a web developer by trade I have “built” lots of things.  However, it is amazing the power of building something that actually solves a problem.  So many times people get stuck on the “idea” instead of the “problem” and subsequently first build a solution, then try to find a problem that it would solve.

Lesson learned.


Twitter Bootstrap Theme for Drupal 6

I decided to give Twitter Bootstrap a try for my new mobile theme and design website.  Unfortunately, I was unable to find a Bootstrap 2 theme for Drupal 6, so I ported it over myself.  Since I use so much open source software, I decided a few months back that I want to start contributing more to open source. So I thought this theme might be handy for others.  Feel free to download it below and use it for your own projects.

Oh it is important to note that this is a Zen subtheme.  Please download and install Zen Theme for Drupal along with this theme and upload both to your website before activating the Bootstrap theme.

Skip to download

The Backstory

For my latest creation I choose Drupal as my weapon (read CMS) of choice because a) of the flexibility to do 80% of what I wanted it to do long term, b) because I knew it well and c) it’s awesome.  However, I ran into a couple of problems when finding a suitable theme:

Problem 1

Bootstrap 2 Theme available for Drupal 7 not for Drupal 6 and the plug-ins I needed were all in Drupal 6.  Plus the Drupal 7 theme is still in development.

Problem 2

Bootstrap 1.4 Theme available for Drupal 6, but I needed lots of customization to get it working well.

So, that is why I ported over my own theme.

Without further adeu:

Download Bootstrap 2 Drupal Theme

(And don’t forget to download Zen Theme too!)

Post Xcode upgrades: Wrestle-mania!

So it seems as though every time I have upgraded iOS SDK and Xcode Apple makes me wrestle with my provisional profiles by giving me various error messages that don’t mean much.  Resolution usually involves some variation of:

  • deleting all provisional profiles,
  • deleting certificates,
  • quitting Xcode,
  • unplugging device,
  • reopening Xcode,
  • reconnecting my device,
  • refreshing profiles
  • reinstalling certificates/profiles
  • cleaning my project
  • reconfiguring the “build settings”
  • standing on one foot while scratching my ear and rubbing my belly for good luck as I compile the project – you get the idea.

Luckily StackOverflow is here to catch me.  If you have similar problems with the iOS 5 SDK upgrade, this might help you resolve your problems.

[SOLVED] PhoneGapDelegate::shouldStartLoadWithRequest: Received Unhandled URL about:blank

Using ChildBrowser with PhoneGap on iOS: On iOS, the web view that PhoneGap provides doesn’t handle about:blank. After updating Xcode and iOS 5.1 SDK I began receiving the following error when I launched a browser on my actual device:

PhoneGapDelegate::shouldStartLoadWithRequest: Received Unhandled URL about:blank

Thanks to <a href=”″>James Joyce</a> for this fix:

The fix is twofold and will work for other plugins requiring about:blank too!

1) Create a file in the www folder called blank.html containing the markup below.


Next, in AppDelegate.m in your Xcode project, find the following method.

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
        return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];

“This method is where one is able to rewrite requests on their way through. To rewrite about:blank to point to the blank.html file, it is first necessary to find the path to the www folder and thus to blank.html”

Replace that method with this:

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
        NSURLRequest* req = request;

        if ([[[request URL] absoluteString] isEqualToString: @"about:blank"]) {
                NSLog(@"Rewriting about:blank");
                NSString* app = [[NSBundle mainBundle] resourcePath];
                NSString* blankpath = [NSString stringWithFormat: @"%@/www/blank.html", app];
                NSURL* blankurl = [NSURL fileURLWithPath:blankpath];

                req = [NSURLRequest requestWithURL: blankurl];

        return [ super webView:theWebView shouldStartLoadWithRequest:req navigationType:navigationType ];

This should allow web components that rely on about:blank to work correctly.


Get your own app for, you guessed it, $.99!

There are a ton of mobile apps available for iPhone and Android for $0.99.  But there is only one mobile app that you can buy for a dollar that is all about you! is a new service (still in stealth) that claims to give you your own app for only $0.99.

From the website:

Finally, an app all about you!

Create your own app to share your favorite apps, music, and much more for only $0.99!

Get your own mobile app for only $0.99! Register now and get yours for FREE when we launch!


According to the people behind, they are planning on launching the first product in mid-March to the first 1,000 users.  Get an app for free while you can.