August 2010

Commitment: "This may sound too simple…"

Filed in 360iDev, iDevBlogADay, iOS Development, Miscellaneous | Comments (0) |

One of my favorite quotes1 is from a book by Scottish mountain climber, W.H. Murray:2

‘But when I said that nothing had been done I erred in one important matter. We had definitely committed ourselves and were halfway out of our ruts. We had put down our passage money–booked a sailing to Bombay. This may sound too simple, but is great in consequence. Until one is committed, there is hesitancy, the chance to draw back, always ineffectiveness.3 Concerning all acts of initiative (and creation), there is one elementary truth the ignorance of which kills countless ideas and splendid plans: that the moment one definitely commits oneself, the providence moves too. A whole stream of events issues from the decision, raising in one’s favor all manner of unforeseen incidents, meetings and material assistance, which no man could have dreamt would have come his way. I learned a deep respect for one of Goethe’s couplets:

Whatever you can do or dream you can, begin it.
Boldness has genius, power and magic in it!’

Commitment is making a decision, then making choices that support that decision.

A personal example:

I made a commitment to my wife to have a healthy marriage for the rest of our lives. That means I will choose to do some things because they bring us together, and that I will forgo some things that I might want but are likely to push us apart. That also means I am very careful to reserve physical and emotional intimacy for her alone.

A professional example:

I made a commitment to make iOS development a major component of my work. That means even though I have many interests, I choose to spend much of my creative time growing as an iOS developer, keeping up with topics that advance that goal, and avoiding too much dabbling with cool things that do not.

Make a commitment you can keep

I believe there is a purpose to my life, and I have life goals built on that purpose. By having some fairly clear life goals, I can make better decisions about which commitments to make. If you don’t have any idea what you want from life, even short-term, then you will be hard pressed to make commitments that you can keep.

When you make a new commitment, it must compete with your existing commitments for time or money. If there is not enough to do it all, you will have to decide between them. The harder you work to convince yourself that you *can* do it all, the more likely that you are only deceiving yourself. Worthwhile endeavors should stretch you, but sometimes that means making the hard decision to drop something else.

Sometimes the conflict is more basic and a new commitment is at cross purposes to your other goals. If you try to do it anyway, you will pile up stress along an underground fault in your psyche. Eventually, something will trigger a quake, and your goals or your commitment will break, leaving you disheartened.

The answer to all of these conflicts is straightforward:

You need to choose–it is that simple.

But “simple” does not imply “easy”. If you are having difficulty choosing, enlist the help of those with experience and wisdom who know you well and care about you.

Once you make a commitment that is consistent with your other goals, you must weave it into the fabric of your life.

  • You will need to be deliberate about creating new habits that reinforce that commitment and breaking habits that deter from it.
  • If you are doing this alone, find others who will hold you accountable or check on your progress fairly regularly (I use Twitter for this).
  • Devote some of your most productive and clear-thinking time towards thinking, designing, and developing your project.
  • Be willing to sacrifice short-term comfort to achieve something that will last.
  • Take concrete steps to renew your vision when your passion wanes.
  • If constant comfort or instant gratification is your life goal, then almost any commitment you might want to make will be in conflict with it.

One last piece of advice. Do not become so focused on your project that you let your personal relationships break down, for people are far more important than things.


As an Indie, one of the best things you can do to find like-minded developers that will provide encouragement and motivation while pursuing a commitment. A great collection of indie iOS developers have helped me stay on track, most of them are either developers associated with iDevBlogADay, or those I have met through the 360iDev conferences. If you can make it to Austin in November, I highly recommend it for it’s content, the friendships you’ll develop, and the passion it will bring to your iOS development.

Also, here is a little more information about me, Doug Sjoquist, and how I came to my current place in life. You should follow me on twitter and subscribe to my blog. Have a great day!


1. Over the years, this quote has incorrectly been attributed to Goethe.
2. When you consider Murray’s life and the circumstances under which he wrote his book, this passage reveals much about the man’s character.
3. Emphasis mine.

My iOS development logjam is breaking up!

Filed in iOS Development | Comments (0) |

Success!

I made excellent progress last week in breaking my iOS development block. I started with nothing but a simple game mechanic to explore, and turned it into a very simple, semi-playable game that I think has great potential. Most days with my client were very full, but it was productive and low-stress work, so fortunately I still had some energy left to get some iOS work done.

My Week

After checking into my hotel early Sunday afternoon, I was able to spend several hours setting up an empty game template project by starting with Ray Wenderlich’s Cocos2D example game, Tom the Turret and stripping out everything but the overall structure. I ended the evening with a bare-bones loading screen, start menu, and game scene to build on the rest of the week. Once I had the mostly empty game “running”, I setup a local git repository to protect me from myself.

I had a couple of hours available Monday evening, and did some more code cleanup and made some simple additions, but I had nothing that resembled gameplay. Tuesday through Thursday were very full days, but I did manage to add some basic game actors and the beginning of some gameplay those evenings.

Trips to this client normally end by noon on Friday so I can manage to get home by late that night. Often, the week has been long and exhausting and the only I thing I have energy for is a nap. But, since I had made it my goal to have something playable by the time I returned home, I was motivated to open my laptop on the first flight and implement some cleaner game play. During my two hour layover in Minneapolis, I made very visible progress and “almost” had a simple game working before boarding my second flight. But, it was getting pretty late, and the plane was really too small for my 17″ MBP, so I called it a night.

Saturday and a self-granted extension

I had not reached my goal of having a playable by the time I returned home, but I was motivated enough to spend Saturday afternoon and evening to get it to the point where I could show it to my family to get their opinions. I spent a few of those hours trying different combinations of game parameters and made notes about what to explore next.

Overall, I am very satisfied with what I accomplished last week. I believe I finally have a game idea that I can get polished enough soon enough in my current time constraints. I still think several other of my ideas have great potential, but they seem to be involved enough that progress stalls before I reach critical mass.

Underlying causes for my “success”

The fundamental reason I feel successful was because of my limited scope. I managed to beat back the scope creep each time I sat down and stuck with my original thought.

Also, these factors were great multipliers:

  • Cocos2D and it’s various example projects
  • I had dedicated time to jump start the project
  • I have had enough experience with tools and frameworks to make steady progress
  • I have played with enough game mechanics, ideas, and examples that I have some good code samples to pull from

What’s next

I have enough work commitments and family time scheduled the next two weeks that I do not anticipate any real progress–but I’m far enough along that I do not think I will be hit with iOS development block anytime soon. Once my kids head back to college in two weeks, I will be highly motivated to dive back in.

Watch for progress reports here!

Breaking my iOS development logjam

Filed in iOS Development | Comments (0) |

Like most iOS developers that have client work or a job that is not primarily iOS related, my iOS development goes in spurts. I finished a iOS project for a client in June, since then it has come to a standstill because of family time and work commitments. But, this week I am working on-site at a client, so while I am away from home I plan to use my evenings to break my logjam. Shortly after returning home, all my kids will be back off to college, and I will have more time available to spend on iOS work, so hopefully I will be able to keep some momentum.

My first task was to pick something from my list of game ideas that has a small enough scope that I can have a playable game by the time I return home Friday.

I believe my best chance of getting something playable that is reasonably fun is to use a game mechanic I tried during the last 360iDev GameJam, but chose not to follow up. I have some working code to use as an example, and with some modifications I think there is potential for it to be fun. The graphics and sound will initially be very simple since they can chew up a lot of my time and leave me with yet another unfinished idea.

Since I had to take a morning flight, I still have several hours of design and development time available today, and I hope to have a few hours available most evenings this week without shortchanging my client work.

Off to XCode!