iPhone App Submitted To The App Store February 4th, 2010
Patrick Stein

I just submitted my first my first iPhone app to the App Store. Once it is approved, I will announce it here.

Thinking in the Car June 18th, 2009
Patrick Stein

I think best while driving. Unfortunately, I rarely have time to get my thoughts down in text when I get back home.

There are a couple iPhone apps that claim to have voice-to-text: QuickVoice PRO w/Voice2Text, reQall, and Jott. It seems that reQall and Jott require me to sign up for their web services. reQall has both a free and a pay web service. Jott only seems to have a pay service. So, I will probably try them in that order until I find one that I like or get frustrated with the whole process.

It seems that QuickVoice PRO uses SpinVox to do their voice-to-text. I am not impressed with the test message. I said, This is just a test. open parenthesis foo close parenthesis. The email that I got back says:

This is just a test of open(?) friends to see who close friends to see. – spoken through SpinVox

Sneak Peek: Screenshot for Spelling iPhone App May 6th, 2009
Patrick Stein

Earlier, I gave a sneak peek at some artwork for the children’s spelling game I am making for the iPhone. Here is a screenshot of the application (click for full size):

spell-it-four

I need to touch up the jaunty logo tiles in the upper left. Some of them are worse for the wear after the perspective transformations and rotations. More to follow….

Exponential Spirals for Game Effects May 4th, 2009
Patrick Stein

In earlier posts, I mentioned finding polynomials, riffing off of damped harmonic motion, and then hitting on exponential spirals all trying to come up with a nice looking way to snap game tiles back into place when they are released. I want them to overshoot and then settle into place rather than snap directly into their spot.

The Basic Spiral

I am talking about a simple spiral of the form:

\theta(t) = Kt
r(t) = \alpha\left(Kt\right)^{n}
for some integer n.

That would be an equation for a spiral that starts at the origin and heads outward as t increases. For my application though, I want to end at the origin so I need to substitute 1-t in for t.

\theta(t) = K(1-t)
r(t) = \alpha\left(K(1-t)\right)^{n}

The math is also going to work out slightly better if I use n-2 in place of n in the above equations:

\theta(t) = K(1-t)
r(t) = \alpha\left(K(1-t)\right)^{n-2}

I don’t want the piece to spiral into place when released though. So, really, I am concerned with just the x coordinate from the above equations:

x(t) = r(t) \cos \theta(t) = \alpha K^{n-2} (1-t)^{n-2} \cos \left(K\left(1-t\right)\right)

To normalize everything, I am going to let \alpha = K^{2-n}. And, since I want my interpolation value to go from zero to one instead of one to zero, I am again going to subtract this all from one:

x(t) = 1 -  (1-t)^{n-2} \cos \left(K\left(1-t\right)\right)

Read the rest of this entry ⇒

A Eureka Moment May 1st, 2009
Patrick Stein

I was pondering the Phony Physics again as I set to work on my iPhone app.

In the previous post, I twiddled the equations for damped spring motion until I found something visually pleasing. Last night, I went back to the drawing (a.k.a. white) board.

What if I used an exponential spiral (parameterized by arc length). Then, I could easily adjust the number of times it bounces back and forth. I could use a spiral like r(t) = \alpha K (1-t)^n and \theta(t) = K(1-t) where K is some multiple of 2\pi. Then, I could walk along the spiral getting to the origin when t = 1 going around the origin \frac{K}{2\pi} times in the process. If I follow the curve at a fixed rate, then I guarantee that my oscillations will pick up speed as I approach the origin.

Rather than have it spiral into the center, I am just using the x-coordinate of the spiral as my new t value to interpolate with. I like the effect for the most part. It overshoots a little bit far on the first oscillation. I may tweak it some more before it’s all over. For now though, I am sticking with it.

I will post some graphs soon.

Updates In Email

Email:

l