Best Voice Recognition Fail(?) Ever…

So yesterday I flew, or, rather, attempted to fly, since apparently the weather forecast was apocalypse and I didn’t now it. I actually made it to Texas, but my flight to Madison was canceled there. American Airlines rang me with a robo call to my Google Voice number, and Google helpfully parsed their audio into text for me:

Continue reading

Using the Marvel API with IBM Watson

A little over a year ago I blogged about my experience working with the Marvel API (Examples of the Marvel API. It’s been a while since I took a look at it and I thought it might be fun to combine the Marvel data with IBM Watson’s Visual Recognition service. The Visual Recognition service takes an image as input and Watson’s cognitive computing/computer vision intelligence to identify different items within it.

Continue reading

Important information about Cordova 5

In the most recent update to Apache Cordova, there was a rather important change that could really confuse you if you aren’t paying attention. This is exactly the type of thing that I would have warned my readers about, but I mistakenly thought it would not impact most users. I’ll explain later why I screwed that up, but I want to give huge thanks to Nic Raboy and his post, Whitelist External Resources For Use In Ionic Framework. Nic is a great blogger that I recommend following, and it is his post that led me to dig more into the changes in Cordova 5 and do my own research.

Continue reading

Getting initial console messages you missed with remote debug

This falls in the “I’m sure it is obvious and no one will find it useful” category, but typically those are the posts that end up being useful so here goes nothing. Imagine you are using remote debugging (and if you don’t know how, here are two articles – Part One and Part Two) and have a few console messages that appear early in the app cycle. For example:

Continue reading

Working with the new PhoneGap/Cordova ContentSync Plugin

Yesterday at PhoneGap Day EU (sooooo sorry I’m missing it!), someone (I forget who) announced two new plugins for PhoneGap development – Push and ContentSync. Push is what you would expect – a way to deal with push messages easier. ContentSync is another beast altogether. The plugin makes it easier to update your application after it has been released. The API gives you a simple way to say, “Hey, I want to fetch this zip of crap and use it.” It handles performing the network request to a zip, downloading it, providing various progress events, unzipping it, and then telling you where it stored stuff. All in all a kick ass plugin, but I had some difficultly understanding it so I worked on a few demos to wrap my mind around it. Before we get started though, let me clarify some things that were confusing to me. (And yes, I’ve filed some bug reports on where I got confused for possible documentation updates.)

Continue reading

A simple Cordova task runner for Visual Studio Code

I’ve been really liking Visual Studio Code lately, so much so that it is now my primary editor. It is still definitely a pre-1.0 release, but it performs really well and I just dig its coding style. I had to step away from Brackets a few weeks ago due to a bug (details) that impacts AngularJS/Ionic apps. Since that’s what I work with most of the time, Brackets simply became too frustrating to use. One of the cool features of Visual Studio Code is the ability to define Tasks for a project. You can support one or more different tasks for a project simply by adding a tasks.json file to the .settings subdirectory. VSC will even create a good default with lots of examples for you to modify. Even nicer, since VSC supports intellisense for JSON schemas, you get code hints while building the file. This morning I thought I’d write up a quick example of adding support for emulating Cordova app.

Continue reading