Make Your Wish List With Listmas

IconListmas is a fun way to create holiday wish lists for yourself and loved ones. Add items to your list by scanning a UPC barcode, shooting a photograph, or searching Items added via search or barcode are automatically linked to their product page. When your list is ready, share it on the web with family and friends. Add more items and re-publish your list at any time.

1414981385_751-1aListmas was born of my constant shooting photos of things my kids want for Christmas. Whenever we’re out at a store this time of year, invariably I’d hear one of my kids cry out “I WANT THAT!”. At that point I’d take a photo, make a mental note to look it up on Amazon, later add it to their Amazon wish list, then pass the list out to the family. Listmas simplifies that process into one step you can do right in the store. You can scan the product barcode and instantly link to Amazon. For more obscure things amazon doesn’t carry, you can shoot a photo and include it in the same list. When you’re done, publish the list to Then send out the link to the family, straight from the app.

Knowing that my, and potentially other people’s kids would be the focus of Listmas, I made a conscious decision to keep everything anonymous. Neither the app nor the website has a login. The app doesn’t know anything about you, except what you have entered in your list. When you publish your list to, the site generates a unique url and passes it back to the app. After that, it’s up to you to hand that url to whomever you choose.

Screenshot_2014-11-16-11-53-18This project had a bunch of firsts for me. It was the first project that my son, James, helped me with. He’s responsible for the idea of Amazon integration, he did all of the QA testing, and he came up with the name. Listmas is my first AngularJS project using the Onsen UI framework. It’s also my first project developed, platform independent, exclusively in a browser, using the Monaca IDE. I’m going to write a separate post about Monaca because I now believe it is the best way to develop phonegap/cordova apps.

Onsen UI, built on top of AngularJS, made this project a breeze. Onsen is a very polished mobile web layout framework. It’s a small framework but it has everything you need to start a project, and finish most of them. Listmas was built entirely with stock Onsen, with just a little css to color things. Onsen allowed me to focus on functionality and get the app out to the market in a little over three weeks, just in time for holiday shopping season. Oh, and Onsen integrates Font Awesome, which is mandatory for all of my projects.

If you’re looking for a quick, easy, and free way to make your holiday wish lists this year go get Listmas now for Android and iOS. And if you’re curious, here’s my list:

Posted in Facebook, Reviews, Twitter, Web Development | 19 Comments

Adventures With Customer Service #1 – Comcast

Thankyou for calling Comcast. Please hold for your complimentary colonoscopy.Our story begins about three months into my battle with Comcast over television service. Month after month I paid the bill, but all I got was a big “Not Authorized” message. I spoke with phone support, who claimed the issue was fixed. I tried the chat feature on I even tried their email form to no avail. But television is isn’t a high priority in our house and I didn’t have incentive to press the issue too hard. That was my mistake.

Suddenly, it was Shark Week Eve, and we were still without The Discovery Channel. This was Thanksgiving without a turkey. Something had to be done. I called Comcast:

Comcast Woman: How may I help you?

Me: Ok. I have a bunch of problems. But I want to focus on just this one. Let me start by asking you a few questions.

Comcast: Go ahead.

Me: First, are you able to tell me which television package I am currently subscribed?

Comcast: Yes sir. You have (mutters something “Latino Plus”)

Me: Great! Ok, now, does that package include The Discovery Channel? I know there are lots of channels but I want to know if it includes that one specific channel.

Comcast: Please hold. (Puts me on hold for a good 2-5 minutes) That package has the spanish language version of The Discovery Channel.

Me: Huh…

Comcast: Wait. No, it has the english version too.

Me: Ok, Great! My wife it fluent in spanish, but I am not, so that would have been a problem. Next question… I’m looking at my television right now. It’s on, the cable is on. I’m looking at The Discovery Channel. It says Discovery Channel on the screen. I see the title of the program on right now. A description of the program. But where the show should be, there’s a big blue box with yellow letters that say “Not Authorized.” Can you make it so that message is replaced with the program that’s supposed to be playing right now?

Comcast: I’m working on it right now.

Me: Great!

At this point she goes through some process that involves remotely restarting my cable box. Nothing is changed, it still says “Not Authorized.” The Comcast woman determines that my box is malfunctioning and Schedules an appointment for a service tech to come to my house between 7:30 and 9:30 AM.

9:27 Saturday

I get a call from the service tech. He says, “I’m on my way right now”. He arrives at 9:37AM.

Comcast: Something wrong with your modem?

Me: No no. The television. The woman I spoke with yesterday said I need a new box.

Comcast: (Gives me an odd stare) Just one moment sir.

At this point he returns to his truck for a solid 5 minutes, then comes back in to my house with a cable box. I lead him to the television and he proceeds to disconnect my son’s PlayStation 3.

Me: What are you doing?

Comcast: You said you need a cable box.

Is it a cable box or a PS3? It doesn't matter, I'm only here to waste time.

I gently take the Playstation from his hand and lead him to the other side of the television where the cable box sits. He swaps our the cable box and, sure enough, we both see the same “Not Authorized” message.

Me: This is the same issue I had with the other box.

Comcast: You’re not subscribed to this channel.

I ran him through the conversation from the day before. He proceeds to call his super secret Comcast number. There’s some discussion back and forth but they both conclude that I am not subscribed to The Discovery Channel and I need to call the support number.

Me: You’re here because I called the support number. If I call them back they’re just going to send you back out here. Is that what you want?

Comcast: There’s nothing I can do for you sir. You have to call the support number.

Me: May I speak with the person on your phone please? I think they know something about my account that the other support people do not.

Comcast: No sir. This line is for technicians only.

Me: Sir, please, let me speak with him.

I know how to fix your problem. But you don't get to talk to me.

At this point he hangs up his phone, quickly writes out a receipt for the service call and starts heading for the front door. I’m left in my living room, dumbfounded. Not knowing what to do next, I called Comcast:

Comcast: I will sign you up for (some name) package and your new total will be $160. (Last month’s bill was $122, up from $70 last year.)

Me: I’m paying for this channel already. You disconnected it and now you’re saying I have to pay more to get it back?

Comcast: Sir…

Me: Hold on. Back up. Tell me again what package I’m currently subscribed to?

Comcast: (Says that multi latino thing again)

Me: Does that package include the Discovery channel?

Comcast: No sir.

My accent is only as thick as your patience.

Me: I went through this same conversation yesterday and the woman I spoke with told me it does include the discovery channel. Now you’re telling me that she lied to me. The person I spoke with yesterday OUTRIGHT LIED TO ME! DO YOU UNDERSTAND THE SERIOUSNESS OF THIS?!

At this point we go through a back and forth. He eventually quotes me a lower price. On the $160 package and we went with that. 15 minutes later I was watching shark cams and happy to save ten dollars a month.

# of Problems to Fix 1
Total Time 6 hours (over 3 months)
Employees Involved 6
Consolation Prize $28/mo increase in cable bill
Posted in Adventures With Customer Service | 5 Comments

How To Make Android Toxic Hellstew

20140603_181826During the Apple WWDC 2014 keynote this week, CEO Tim Cook brazenly declared the Android mobile platform a “Toxic Hellstew!” Sure the words actually came from This Article, and Cook clearly attributed it to Adrian Kingsley-Hughes of ZDNET. But the Internet, which Al Gore invented of course, has never been a place to squabble over facts.

Never mind the fact that the highlight of the WWDC keynote was a reference to Android. We were talking about stew now, and I was hungry. I pressed the button on my toxic phone and asked the googles for a hellstew recipe. Sadly, I got back only results for hangover cures and anti-toxins. Maybe Tim Cook was right about this Android thing.

Platform wars aside, I wanted some stew. So in the grand tradition of Android I made my own:

Android Toxic Hellstew


  • Olive oil
  • 1 Onion (chopped)
  • 1 tbsp minced garlic
  • 1lb beef (cubed)
  • 2 russet potatoes (finely chopped)
  • 2 cups beef or vegetable stock
  • 1 can (15oz) diced tomato
  • 1 can (4oz) chopped green chiles (because androids are green!)
  • 1 can (15oz) pintos
  • 1 tsp chili powder
  • salt
  • pepper


Place your stew pot over high heat and bring to temperature.

Drain and wash the pintos.

Coat bottom of pot with olive oil. Add onions and stir fry until soft.


Add beef and garlic. Continue to stir fry until the beef is lightly browned.


Add the beef or vegetable stock, tomatoes, green chiles, potatoes, pintos and chili powder.

Bring to a boil, then reduce heat and simmer until the potatoes dissolve. Add salt and pepper to taste.


Serve with tortilla chips or rice. And, of course, no Android Toxic Hellstew is complete without Kit-Kats.


Posted in Food, Tutorials | 2 Comments

The Prize Inside Updated

Screen Shot 2014-03-23 at 8.28.43 PMWhen a burger is a burger, and fries make no difference, choose your fast food by The Prize Inside!

The Prize Inside received a major update last week. Completely rebuilt from the ground up with a much more efficient UI and all-new commenting system. As always, The Prize Inside tracks fast food restaurants by their kids’ meal premiums. Nearby locations are now provided in a list view, as well as the usual map view. Prizes now have a comments section for users to post their prizes. Recent comments are featured on the homepage of the site.

The mobile app has been completely redesigned as well. Built with PhoneGap it still shares the same codebase as the web version, but is now much faster. It also features an all-new sharing system to post comments and pictures of your prizes in the app and on the website. You can now link your Twitter, Facebook, or Foursquare accounts to automatically share your comments within those networks.

Follow one of the links below and choose your fast food by The Prize Inside:

Posted in Facebook, Portfolio, Twitter, Updates, Web Development | Leave a comment

5 Great Chromecast Apps That (Mostly) Go Beyond Video

jamesycastWith the Chromecast dev kit well out of beta, app development for the platform is exploding. Early on we saw lots of support for video streaming services. Plex, YouTube and Netflix (in that order) are still my most often used Chromecast apps. I use them daily. But what I find interesting are the apps that take Chromecast beyond movies. Back in December I wrote about Google’s use of Chromecast as a peripheral, with their Santa Tracker app. Many developers are following suit and using Chromecast for a wide range of applications. Here’s a list of my favorites amongst the first wave of Chromecast apps:


A catalog of all Android apps which have Chromecast support. It isn’t a specifically a Chromecast app but it’s the most comprehensive listing of apps available. The developer seems to be doing a good job keeping it up to date, the list has grown every time I’ve checked. With development exploding this app will become invaluable to all Chromecast owners.

Screen Shot 2014-03-19 at 9.28.07 PM


Draw on your phone/tablet and mirror it on your TV in real-time. This app is so simple and yet incredibly great. It functions like a digital whiteboard. You get one brush style and your choice of Black or Blue Ink. My kids have been having a blast with this one. I found a good use for it helping my son study with makeshift flashcards. You can unlock more colors with a one time in-app-purchase upgrade to “premium” and the developer promises more features in the future. I recommend paying for premium now to show support and keep them going.


Dehumanize Your Friends!

A derivative of the party game Cards Against Humanity, the party game for horrible people. If you haven’t played this game before, head over to the website because any description I give won’t do it justice. Dehumanize Your Friends! takes the Cards Against Humanity concept to your television. This one requires at least 3 players and the more the better. It’s also a great example of multiple devices linking to a single Chromecast at the same time, something I didn’t realize is possible. There’s great potential for party games on Chromecast and this is a great start.

Screen Shot 2014-03-19 at 2.32.46 PM


Stream the TWiT network with your Chromecast. I watch a few TWiT shows regularly and this app brings them to my Chromecast. Navigation is simple and video controls work as any other Chromecast video app.

Screen Shot 2014-03-19 at 2.33.13 PM


BeyondPod is by far my most often used app. I consider it the best podcast client for Android. It was amongst the earliest adopters of Chromecast support. When I’m doing work around the house I often push my podcasts to the television for better sound. It’s also less clumsy than flailing around earbud wires.


Honorable Mention: GamingCast

I love the concept of this app, using ChromeCast as a game console. GamingCast has its own take on 4 very simple games: Tetris, Pong, Snake & Qix, with a promise of more to come. However the execution is very poor, especially for a $1.99 app. The games themselves don’t over-promise and perform exactly as expected. Where GameCast falls short is its control implementation. Gamecast turns your phone into a nintendo-style controller, A & B buttons with a D-Pad. The problem here is the tactile-less touch screen makes it nigh impossible to press the buttons while looking up at your television. A simpler control scheme using halves or quarters of the screen as buttons, or a slower-paced game like an RPG, would make for a great Chromecast app.


Posted in Media Server, Retro Gaming, Reviews | 8 Comments