Crossing The Finish Line With IMSA

As Tim called out the other day, we recently went live with a brand new mobile experience for IMSA, and I had the privilege of leading the engineering team on the project here at IK. The scope and timeframe of the project were both ambitious: we delivered a brand-new, content-driven mobile app with live streaming audio and video, realtime in-race scoring results, custom push notifications and more, across all major platforms (iOS, Android, and Windows), with custom interfaces for both phone and tablet form factors – all in a development cycle of about twelve weeks. It goes without saying that the fantastic team of engineers here at IK are all rockstars, but without some cutting-edge development tools and great partnerships, this would have been impossible to get across the finish line on time:

  • Xamarin allowed our team to utilize a shared codebase in a single language (C#, which we happen to love) across all of our target platforms, enabling massive code reuse and rapid development of (effectively) six different apps all at once.
  • Working closely with the team at Xamarin enabled us to leverage Xamarin.Forms to unlock even further code-sharing than would have been otherwise possible, building whole sections of the presentation layer in a single, cross-platform XAML-based UI framework.
  • On the server side, our partners at Microsoft’s continued world-class work on Azure made utilizing Mobile App Service (née Azure Mobile Services) a no-brainer. The ability to scale smoothly with live race-day traffic, the persistent uptime in the face of tens of thousands of concurrent users making millions of calls per day, and the ease of implementation across all three platforms, all combined to save us countless hours of development time versus a conventional DIY approach to the server layer.
  • Last but not least, being able to leverage Visual Studio’s best-of-breed suite of developer tools was essential to the truly heroic amounts of productivity and output of our engineering team at crunch time. And Visual Studio Online enabled the Project Management team and myself to organize features and tasks, track bugs, and keep tabs on our progress throughout the hectic pace of a fast development cycle.

The final result of this marriage between cutting-edge cross-platform technology and an awesome team of developers is a brand new app experience that’s available on every major platform, phone or tablet, and this is just the beginning – we have lots of great new features in store for IMSA fans worldwide. I’ll be following up with a couple more technical posts about particular challenges we faced and how we overcame them, and be sure to check out the next IMSA event in Detroit the weekend of May 29-30; I know I’ll be streaming the live coverage from my phone!

NEAdNUG: Crawl, Walk, Talk – Windows Universal App Lifecycle and Cortana API

Always more time for firsts! This was my first time giving a remote presentation! HUGE THANKS to NEAdNUG and everyone else who attended with that group or online! It’s a strange feeling to be so immersed in tech and be able to connect with people on the other side of the country.

Crawl Walk Talk – Windows Universal App Lifecycle and Cortana API

Repo: CrawlWalkTalk

It’s always a pleasure to work with such talented people across the globe. I hope my materials were found to be relevant and helpful. Feedback and Pull Requests are always welcome. Hope to see you at the next User Group!

devLink 2014: Presentation Materials

Super stoked to present at devLink this year. I’m trying to get with the times and provide my materials before hand so you can get your hands on them before you forget about them. You can find everything from my slide deck to code in my GitHub repos.

Crawl Walk Talk – Windows Phone App Lifecycle and Cortana API

Repo: CrawlWalkTalk

Master Windows 8.1 Location and Proximity Capabilities

Repo: WindowsLocationAndProximity

For those that see this before I hope you attend, and for all those that attend thank you so much for coming and please let me know what you thought of the presentation and materials. I’m always trying to improve. For those that find these materials after the presentation please check them out and let me know if I can answer any questions you may have!

DevLink – Crawl, Walk, Talk: Windows Phone 8 App Lifecycle and Speech API

Huge thanks to all who attended my session. It was a blast! I hope you found it helpful and informative. You may find my Presentation Deck, Code, and a recording of the session below. Feel free to ask me any questions or give me any feedback you’d like in the comments below.

Session Description

Many Windows Phone apps in the store are good, but they could be great if they understood the very basics of app Lifecycle management. App users should never know they left the app due to app behavior. We’ll discuss and learn how to effectively and efficiently suspend, tombstone, resume and restore Windows Phone apps. Then we’ll move on to teaching our apps how to respond to Voice Commands. Voice Commands are one of the most helpful features and yet one of the least leveraged features in the Windows Phone platform. We’ll learn where they can help and how they can streamline the user experience.

Material Links

Contact InterKnowlogy

If you’re interested in receiving our News Letter please email:

If you’re interested in career opportunities please email your resume:

If you’re interested in partnering with us please email:

Nokia – San Diego Windows Phone 8 Hackathon – May 2013

The San Diego Windows Phone 8 Hackathon held at Nokia on May 11th 2013 was a huge success! I want to express my sincere appreciation and respect to all who participated. We had 33 Windows Phone 8 Apps submitted after a mere 4 hours of development time. That’s quite an impressive feat, especially considering the quality of the apps that were presented! I hope everyone that participated will put the finishing touches on their apps and submit them to the Windows Phone Store. (And let me know!)

I took a new approach to presenting code topics at this event and I am quite pleased how it turned out. We held 3 sessions each 1 hour long. Between each session was 1 hour for hands on lab. In the past I’ve shown different codebases for my presentation vs. any hands on labs. At this event I decided to try to use the same codebase for both. This meant I could show off a working version of the hands on labs before attendees would start them. This gave the attendees greater understanding about what they were about to do and how the code topics work in an app setting instead of some simplified, non-best practices sample. This worked tremendously well. I received many comments from attendees about how much they loved seeing the code first then writing the code themselves, and how that was much more effective than seeing two different samples. The apps shown off during the hackathon were evidence to me that my approach was effective and good.

This event was not my first; however it was my first with 111 attendees! It was also my first as a Nokia Developer Champion. I had a blast and the atmosphere and enthusiasm of attendees told me that everyone else did too. I look forward to the many follow up sessions we discussed during the event and other events coming up in the future!

Link to event materials: NokiaWP8May2013

LionHeart & World Autism Awareness Day 2013


Today holds a special place in my heart. For the last 3 years my wife has been working with children with Autism helping them to overcome and manage behaviors that are reactive, inappropriate, and distracting to themselves and others. Her kids are amazing little creatures! While some are severely impacted many are not. They are so sweet and love making her get well cards when she is out. It’s impressive. Certainly I can never hope to achieve such satisfaction in my job as a software engineer. However, I can definitely try to help!

Introducing LionHeart: Autism Behavior Interventionist Assistant

It is with great pleasure that I bring you LionHeart; a proof of concept aid for Behavior Interventionists delivering services to people with Autism. The concept of LionHeart came from my wife while we were discussing ways software could help influence medicine. She explained that her job as an Interventionist consists of going home to home to visit each child for a few hours. During the session she uses ABA therapy to help the child learn appropriate behaviors. First the Interventionist reviews notes from the previous session. Then during the session the Behavior Interventionist will keep tally of behaviors and responses. After the session the Interventionist records qualitative notes in the child’s record binder. Every month the binder is collected and paper records are read and transferred to different paper records. It’s a very tedious job. The binder is then hopefully returned to the child’s home before their next session. If not, the Interventionist will have little to no idea how that child is progressing and how to proceed. Even with the binder, there is no easy way to see the child’s improvement over time in a specific program without reading weeks of session notes. Because it is so difficult to see progress over time it is rarely if ever done in the field.

LionHeart is the solution. The app provides a hint at what digital records could look like. It also gives an idea of how easy it would be to generate reports in the office let alone in the field. The concept is that each Interventionist would have a device, like a smart phone or tablet, that would have an app like LionHeart installed. The app has the ability to track behavioral data, record session notes, review client progress, map client addresses, help keep Interventionists in the know about cancelled/postponed/rescheduled sessions, and more! What is currently an extremely inefficient system could be streamlined to benefit the client as well as the service provider.

Goal of LionHeart

My goal when I set out to create LionHeart was to show that technology can be used in simple ways to accomplish great things! My wife wishes she could use LionHeart in the work place, but that of course requires much more than a simple Demo app. I hope, in the near future, that Autism service providers will strive to adopt time saving and quality of care improving technology such as LionHeart. InterKnowlogy is a wealth of knowledge and I continue to be impressed by how well our team works to effectively deliver awesome and amazing software. I would love to see InterKnowlogy partner with Autism service providers to make LionHeart a reality!

Why the Name LionHeart?

The name itself is a fun little story. I had been contemplating a name for a few days for the project. The thought came to me that these kids have huge hearts. They are just so full of love. And while this thought ran through my head I was staring at a pad of paper my mother in-law had given me with a print of a lion on it. I realized lions have big hearts and these kids are often as wild as a lion. How fitting then to give the app the title of LionHeart representing both the challenges and rewards for working with children with Autism.

Screen Shots

List of Session & Viewing Session Info


List of Session Notes & List of Programs in a Session’s Notes


Client Information & Client Progress Over Time


Special Thanks

I would have never finished LionHeart with out the awesome support of the InterKnowlogy team and our RECESS time. You can learn about RECESS here. A special shout out to Beth Juncal who help me work with a designer to make the app beautiful. A huge thanks to Xen Rabara who came to InterKnowlogy in January as a fresh graduate from my alma mater Neumont University, and styled almost the entire app! Travis Schilling also helped me get in a crucial last minute revision to help with usability! Of course I want to thank the company Holly works for, C.A.S.E. Inc., and especially her boss, Cynthia Norall, who has helped me understand the challenges faced by Interventionists in the field. And finally my wife Holly who continues to impress me everyday in her care and love for children with Autism!

Development History

If you’re a developer interested in learning how to make a Windows Phone app like LionHeart check out this blog series on how LionHeart was created.