Archive for the NumMemorize Category

How to Calculate Pi by Throwing Frozen Hot Dogs

Posted in NumMemorize on April 6, 2009 by mz

Ok, so say you haven’t used NumMemorize and can’t recall any digits of pi.  Well, here is one way to calculate pi – without any fancy high tech gadgets – just by tossing hot dogs.

Calculate Pi

1 million digits?

Posted in NumMemorize on March 24, 2009 by mz

I’m sure some of you wanted to memorize pi to a million digits, and were having a hard time finding a reference.  Here you go, pi to a million digits:

pi

Speed Pi – video

Posted in NumMemorize on March 23, 2009 by mz

YouTube – Speed Pi.

Wow.  How does her brain file all those digits away?

First beta test discovery…

Posted in NumMemorize on March 19, 2009 by mz

The tap pad keys are too small.  That was the comment from two testers.  And nothing else.  One person did complain about the buzzer being too jolting, but I like it that way.  Call it conditioned response:  You learn the number well or else you get buzzed.

I went ahead and increased the size of the keys as much as I could without impacting the other elements of the design (compare to the older size in the lower picture):

3d3d-1

Be careful of shrinking screen space…

Posted in NumMemorize on March 15, 2009 by mz

Yes, the screen size does shrink, and you better be prepared for it!

watch-screen

I had to adjust my view to deal with this.  Now my app has some extra space along the top of the number.  In the next release, I will have to do something a bit more elegant.

Bland buttons…

Posted in NumMemorize on March 13, 2009 by mz

Surprisingly, Apple’s default style for buttons on the iPhone is pretty bland.  Which is not the case for many Apple provided apps.  So, while Apple is providing us developers with a bland style, they are going into some trouble to make their buttons look nicer.

Why Apple doesn’t just provide two or three styles of buttons, is beyond me.

Here is what the screen looks like with the default buttons:flat-buttons

My first attempt at beautification wasn’t that exciting:

shaded

The buttons still look pretty flat.  Looking at what Apple is doing with many of their buttons, it seems like they are shading the bottom of a gradient, thus acheiving a pseudo 3D look.  Applying that here:

3d-1

The app is pretty much complete.  I’m making a list of people to test it.  The thing that I find funny is how I have probably spent over 2 or 3 times as much time trying to do the graphic design work as I have on the actual source code that runs behind the graphical interface!  I think it would be nice if I could find myself a competent graphic artist – I’m not one.

More UI Work

Posted in NumMemorize on March 11, 2009 by mz

The majority of the past couple of days have been spent arranging and rearranging the graphical UI elements of NumMemorize.  Yes, I fret too much over the GUI.

The main view now looks like this:

picture-12If you compare this to the old view, you will see a differnce in the font and especially the rendering of the symbols:

First ViewI definitely like the symbols better this way, although the center column could have been left untouched.  I’ll be curious to see the comments from the users.

The second view has changed quite a bit too:

picture-10

I won’t go over the different controls and textual displays right now.  Suffice it to say that pretty much everything you see is actually connected and functional.  I even have keyboard hinting working – once the user has made too many mistakes or is out of time, the key will start flashing the next digits of the number as a way to teach the user additional digits.

What remains to be done:

  • an “About” view linked to the little “i” in the main window
  • a small animated clock/timer graphic to signify the time left before the user has to press a key or entry mode ends (and teaching mode begins).
  • fix this (see i to the power of i):
    picture-11

I am also pleased to announce, that our little app here now sports its own icon.  I have picture-1to add that this icon took me almost a whole day to design, no thanks to Adobe products.  For some reason none of the Adobe CS products launch on my MacBook anymore.  They open and quit.  Neither does Photoshop Elements.  I spent an hour or more deleting and reinstalling Photoshop CS, and I had the same issue.  I downloaded a number of other graphic and icon editing apps, but then I realized that GraphicConverter, right under my own nose, is fully capable of creating graphics suitable for this purpose.  Thanks Thorsten Lemke!

One last comment before I call it a night.  Quite often I find a need to look at a string of text in all different fonts in order to pick the most suitable rendering.  The icon above was created by going through many, many fonts, one-at-a-time, in order to find the right one.  I wish there was a way to either say, take this string and run through each font automatically, pausing between each, or to render the string in all possible fonts, in one document, and then allowing me to delete ones I dislike or copy the one I do.  Is there such an app, or a feature in an existing app?

New Key Layout

Posted in NumMemorize on March 8, 2009 by mz

Ok, so I am still stuck on the keyboard layout.  Last I left you, my new layout was this:

No "." or "E/-"

No "." or "E/-"

Playing around with this layout, and watching other people play around with it, I realized that fingers had to move all over the screen to tap out the numbers.  That made me change the layout to the following:

picture-9I think this grouping allows for faster number tapping.  However, I sort of have a problem with an uncentered keypad.  Yet, by centering it, I kill a lot of screen real estate I want to use in other ways.  And if it is to be off to one side, then why not on the left side?

(I had one crazy idea: scrap the keypad entirely, and just show a pile of numbers at the bottom of the screen and let people flick numbers up in order…)

Key Deletions

Posted in NumMemorize on March 7, 2009 by mz

Just before I called it a night, I decided to delete the “.” (decimal) and “E/-” buttons off my keypad.  My thinking is that in most cases, it’s not a big surprise that the decimal point is the second character in the string of a number.  I’m having the app automatically detect the position of the decimal and put it in right after the previous digit has correctly been entered.

I also decided that the “E/-” (exponent) button is similarly unimportant.  Right now, none of my selected number have an exponent.  I can see adding numbers, like the Avogadro constant, which would require an exponent, and some with a negative exponent, thus requiring the “-“.  Curiously (and at this late hour I don’t want to be bothered thinking about it) I don’t know of any special numbers that themselves are negative.

In the case of numbers with exponents, I think I will automatically append the characters “10²³” or “E23” to the right side of the number and do the user a favor.  Yes, they won’t have to remember this last bit.  For now, I’m ok with it.

I got the sounds working – and on the iPhone, if you type in the incorrect digit, you’ll get a vibration!

Next comes scoring or some form of performance feedback.

What, no ‘click’ sound? No ‘bonk’? No SysBeep()?

Posted in NumMemorize on March 7, 2009 by mz

I want my iPhone app to play a system beep when the user presses the wrong key and to play a click sound as the user types on my custom keypad.

I went off and look for what I thought should be a simple standard API call. I find that maybe

AudioServicesPlaySystemSound (theSound);

will do what I need. Looking into it, I am surprised how much work is involved.

Trusting that there must be some easier method, like SysBeep(), or ClickSnd() – after all, haven’t OS’s as far back as early UNIX provided simple little sound routines like that? – I spent much time Googling and looking through SDK documentation.  Is it possible that the iPhone, with all it’s sound capabilities, does not have such calls?

I’m not a sound guru. I loathe having to create .caf or .wav in order to do something that is not the focus of my app, and an area that I have little expertise in. A good SDK is supposed to free you from doing mundane stuff, and allow you to focus on bringing your expertise to life.

Looks like, though, that I have to go off and figure out how to make a click sound and a “bonk” sound.