Thursday, March 17, 2016

Happy Saint Patrick's Day

On this day of many things green, I'd like to offer this Xcode theme that I have been using for a few months, Mulder. It's quite green to celebrate Season 10 of The X-Files. Here's what it looks like in action:
Xcode keeps themes in a folder: ~/Library/Developer/Xcode/UserData/FontAndColorThemes so here are my recommended steps to add this theme to your Xcode:
    1) Open Xcode
    2) Choose Xcode > Preferences
    3) Choose Fonts & Colors
    4) Press the + button in the bottom left corner and make a new theme named "Mulder"
    5) Quit Xcode
    6) Copy the downloaded Mulder.dvtcolortheme file to ~/Library/Developer/Xcode/UserData/FontAndColorThemes/.
    7) Open Xcode and enjoy a greener coding experience. :-)

Tuesday, October 13, 2015

Lucky 13

On Sunday October 13, 2002, my fiancée and I were long distance. She was finishing up her college degree and I was working in Chicagoland. We had attended a wedding this particular weekend, and had driven back to college on my way back to my apartment. I was driving on a two-lane Missouri highway, listening to music and driving without cruise control for some reason. I usually would set my cruise control for a bit over the speed limit where I might manage to avoid attention from police yet this particular day I was going without it, and as a result was traveling a bit slower that I would have normally.

Suddenly, a fox appeared in front of my car on the left-hand side. I swerved the car to the right off the edge of the pavement with right-side tires onto the gravel shoulder, and turned back to return to the road. The car started skidding with the rear moving to the right. I recalled some old driving test television shows I watched in my early teenage years and knew I was supposed to take my foot off the gas and turn into the skid, and to be careful not to overcorrect. I took my foot off the gas, I turned into the skid -- too much. The car continued skidding, this time off to the right-side of the road. I saw an overpass ahead around the corner. I saw a car coming from the other direction. Then I saw grass as the car turned toward the rising hill off the side of the highway and my car skidded further off the edge of the road. I didn't really have time to even process it, but I was glad to be moving away from that car.

The next thing I knew the car was upside down. I was suspended by my seatbelt and didn't want to be like that. I put a hand on the roof of the car to brace myself as I unbuckled and rolled myself out of the car. My door opened perfectly, the window still whole in fact. The windshield had shattered. Every other window was shattered. The car was upside down, over the guardrail it had just smashed thru. It wasn't until I got the police report and saw the officer's sketch that I realized how exactly the car got to that position. The driver's side door behind me was demolished. I can't imagine any person sitting in that seat surviving the crash. I was a foot away from that. Had I been driving a bit faster, it's just as likely that I would've hit the guardrail at my door instead of the empty one behind me.

I was impressed and grateful for all of the people who stopped and helped to call 911. I'm especially thankful for the police officer who found my phone and glasses among the belongings that had flown around in the wreck.

A colleague of mine told me about a belief in China that surviving an experience like this one meant I was marked for something great. I've keep considering this. I want my life to be worthy of this gift. This borrowed time that I'm living on since that day. My family is the legacy I care most about, and I cannot be prouder of what Katie and I have grown. All of our children are so smart, kind, playful, and empathetic.

I was fortunate enough to be one of the first developers to make apps on the App Store, and my Flashlight app has been used by millions of people. That's still so surreal for me to think about, and I'm so thankful for the opportunity to share my work with so many people.

I've had 13 years since this crash, and I've thankfully been able to do longer road trips without thinking about this. Some things certainly fade with time. My wife's birthday is November 13th. My daughter's ultrasound was on Friday the 13th.

13 is my lucky number.

Sunday, September 13, 2015

PixelPop Festival 2015

I want to thank everyone involved with PixelPop Festival this year. I was delighted to have an opportunity to show my games and show an preview of my new game, Stacker. It's truly heartwarming to get to see people experiencing my creations for the first time and I got so much great feedback and so many great ideas to add. I'm putting my iOS games on sale for $0.99 this week until September 20th.

Thanks again! Now it's time to get a little rest… :-)

Wednesday, September 12, 2012

A Talk about ViewControllers

This July, I gave a short talk about some best practices with ViewControllers on iOS for the West St. Louis CocoaHeads group.

This includes my tips on where/when to do certain actions to balance resource usage and keep your UI snappy.

Here is the PDF of the presentation: CocoaHeads ViewController Talk

Thursday, April 12, 2012

CryptoQuote Daily Challenge Update


I'm happy to report that the new Daily Challenge Server is up and running, and my initial testing is going very well. Soon (within the next week or two), CryptoQuote for iPhone, iPod touch, and iPad will be updated to version 2.4. This version is designed to use the new server.

Once I'm happy with the iOS update running "in the wild," Android apps will be next.

So, in a few weeks, CryptoQuote for Android will be updated to version 2.0, adding the Daily Challenge feature for Android users, including Kindle Fire, NOOKcolor, and NOOKtablet.

Monday, April 2, 2012

CryptoQuote for Android 1.0

UPDATED: Reflects that the Amazon App Store page has been updated.


I'm very excited to share with you that CryptoQuote is now available for some Android devices (tablets with access to the Amazon App Store, including Kindle Fire). You can download CryptoQuote for Android 1.0 here.

This version is launching with many of the great features of CryptoQuote you see on OS X and iOS as well, with a few to be added in the not-so-distant future.

At this moment, CryptoQuote is available solely via the Amazon App Store. My hope is to have the app available for NOOK devices within the next few weeks (depending upon the pace of Barnes & Noble approval processes).

An Apology
The initial description on the Amazon App Store product page for CryptoQuote 1.0 includes the following line:
* 3199 carefully selected quotes, plus a new Daily Challenge Puzzle each day

This should NOT contain the second part about the daily challenge puzzle. I am very sorry for this error, and the descriptions have been corrected on the store.

About the Daily Challenge
The Daily Challenge feature is currently only available for iOS devices. Please do know that I am committed to bringing the daily challenge to Android devices and Mac OS X. Please also know that this is not without some significant steps before this can happen. I'd like to elaborate a bit on this…

The current daily challenge server needs some improvements:
1) It is currently on an older host system, which shares resources and power with other websites.
2) It does not respond quickly enough to requests.
3) It does not handle lots (and lots) of iPhone users well.
4) It gets slower as more people play the daily challenge each day.

My plan is to address these problems first for iPhone users, by doing the following:
1) Rewrite the server-side code to handle requests quickly and efficiently.
2) Restructure the database to handle requests quickly even for lots (and lots) of users.
3) Setup this new server code on my new host machine, and migrate the daily challenge users over to the new server.
4) Update CryptoQuote for iOS to add the Daily Challenge.
5) Update CryptoQuote for Android to add the Daily Challenge.

Questions or comments?

Contact me via:
or on Twitter:

Tuesday, January 10, 2012

The Next Chapter

Today, I'm launching Apps from Outer Space, LLC. My new company is taking over all of the apps my old company (John Haney Software).

I'm calling this my online moving day. Here's what's happening:
@JohnHaneySW -> @Apps_OuterSpace

Facebook: ->

Website: ->

App Store:
Coming Soon. I'm awaiting a few finalizing details. For the moment, apps will be listed under the "John Haney Software" name.

So please update your contacts, likes, follows. 2012 is going to be a great year, starting with my next app, Puppet Stage. But I'll talk more about that very soon…