Posts Tagged ‘iPhone developing’

Coming Soon to the Big Screen—OnScreen Pitch Count for iPad!

Saturday, July 2nd, 2011

I am happy to announce that OnScreen Pitch Count, my app for recording, calculating, and reviewing pitch results and stats of baseball and softball games will be available in a new version for the iPad on the iTunes App Store very soon. Barring the last minute discovery of a bug, which I don’t expect at this point, I’ll be submitting it for review in the next couple of days. For news and more information about OnScreen Pitch Count and other apps from OnScreen Science, Inc., see the web site or follow me (@onscrn) on Twitter.

I think I’ll just show one screen shot from the new app now, since I’ll probably want to make another short blog post when it’s really on sale, and I can show more then. The one below was taken from a game I was recording to test the app. Cliff Lee of the Philadelphia Phillies had just had his no hitter broken up by the leadoff batter in the sixth inning, as you’ll be able to see if you look closely at the stats. Well, they may be too small to see there, but you’ll have no problem reading them full-size on the iPad. The hit is about to be registered. The general layout of the screen is described in some detail below.

ipad pitch count

As a further preview, here is the description of the app as it will appear on the App Store (subject to modification):

OnScreen Pitch Count, the most highly regarded pitch stat app for the iPhone, has come to the big screen! Designed by a baseball/softball coach who knows what coaches and fans need to know about pitch results, OnScreen Pitch Count stands out among pitch count apps.

Increase your enjoyment of ball games by giving more attention to the details in a way that’s not burdensome. OnScreen Pitch Count is just the right medium between barebones pitch counters and extremely detailed apps.

With the big screen of the iPad you can see lots of stats at the same time, even as you record pitch results. And you can transfer the results you’ve already recorded on the iPhone to the iPad just by emailing the app file as an attachment, as the files are compatible between the two versions.

OnScreen Pitch Count allows you to keep the running totals of

• kinds of strikes: foul, swinging, called, ball put in play
• third strikes: swinging, called
• balls
• total pitches
• first pitch strikes and balls
• strikes and balls in the last ten pitches
• batters faced
• outs recorded
• strikeouts
• base runners
• how many runners reached base by: walks, hits, errors, hit by pitch, other
• runs allowed
• wild pitches

just by tapping easily learned buttons on the screen.

If your interest is in one particular pitcher, you can just follow that one. If you want a complete record of pitch results for every pitcher in the game on both teams, you can track them. There is no limit to the number of pitchers you can record in a game, and OnScreen Pitch Count properly charges runs to pitchers who allow base runners but leave the game before the runners score.

As you record pitch results, you see the cumulative stats of the pitcher updated immediately on the screen. Display total numbers as well as percentages at the same time. Compare the current pitcher’s numbers with the opposing pitcher’s. The stats are on the screen to see. While recording a game you can see the stats for up to three pitchers at a time. When reviewing previously recorded games, you can see four at once. Or compare totals and percentages side by side.

As you record pitches you also see the count on the batter and the number of outs and baserunners, so you never lose track of what the situation is.

Did you tap the Ball button, only to hear the umpire call the pitch a strike? No problem. Tap the Undo button to take the ball away. Tap the Strike button to correct the count. The results of up to two consecutive pitches can be undone. In case you’ve somehow lost track through a distraction, you can edit the count on the batter, outs in the inning, or number of base runners, though the undo feature should be used when possible.

What if you record a strikeout for the third out, only to see the catcher drop the ball and the runner reach base safely? No need for the Undo button. Tap the button for batters reaching base by ways other than putting the ball in play; select the case for reaching base after a strikeout; and the out is then removed, while the strikeout remains tallied, and the number of base runners increases by one.

After you’ve finished with a game, which can be as soon as the pitcher you’re interested in has finished, the results are automatically stored on your iPad for later review, and you can email the results of a single pitcher or all those on the team. Email just a text summary of the results or attach a csv file that you can import to a spreadsheet. AND, if you know someone else with this app—either the iPad or the iPhone version—email them the actual file you’ve recorded for them to view with the app on their device. Or email the file to yourself as a backup.

OnScreen Pitch Count has been available for the iPhone and iPod Touch since August of 2009, and of course that version can be used on an iPad, but only in a sort of little iPhone window on the iPad screen or blown up with pixel doubling, which simply magnifies the iPhone image, while making it look worse. Running the iPhone version of OnScreen Pitch Count on an iPad does not free the app from the iPhone’s limitations, most notably its small screen. The iPhone’s small screen is just the price one pays for its great portability and convenience.

I was gratified and relieved to see that as spring and a new season for baseball and softball in the USA arrived earlier this year, sales of OnScreen Pitch Count ramped up nicely and were running well above the previous year’s level. This indicated that there was an ongoing need for the app and that a fair number of people were taking the trouble to actively search for pitch count apps and then to splurge on a $3.99 app based on the app description, screen shots, and high customer ratings they could see on the app store. It would be interesting to know how many of those who download OnScreen Pitch Count do so after disappointment with a cheaper competing app. My guess is quite a few, so that in a way the higher price of OnScreen Pitch Count compared to its competitors may actually be giving them more sales, as people decide to “risk” 99¢ first.

OnScreen Pitch Count, while not making enough money to brag about, has been a hit, in terms of user enthusiasm. This is evident in the user reviews, which abound in exclamation marks and high praise, and in the emails I’ve received. Some of the reviews are so glowing (“The best app I have ever bought!!!!”) that I worry that they’ll be seen as bogus, but they are 100% real reviews. Well, there was one negative review that I’m 99.99% certain was actually meant for a competing app, since the specifics of the comments clearly applied to the other app and not at all to OnScreen Pitch Count. That one hurt sales for a while and probably cost me a couple of hundred bucks. I plan to write about app developers’ susceptibility to harmful, uninformed reviews sometime. Anyway, despite having sold something less than 1,000 copies of the app, I feel very satisfied to know I’ve conceived and created an app that a good number of people have found very useful, even delightful. Would that there were a way to get the word out to the many other parents, coaches, and fans who might also love it if they only knew about it!

Sometime back in March I decided that my next app development project should be bringing OnScreeen Pitch Count to the iPad. I hoped that I could have the iPad version finished sometime in May so that it wouldn’t entirely miss the peak time for baseball and softball, which means Little League and high school seasons. That time constraint for peak sales potential was really the determining factor in my decision to work on this app next. I hadn’t thought through exactly how I would take advantage of the greater screen area of the iPad, but I knew it would be possible to eliminate a lot of switching from one view to another as compared with the iPhone version.

As is usually the case, the job took longer than I’d hoped. Back when I first started app development I had also originally meant to get OnScreen Pitch Count for the iPhone ready for a spring debut, and had barely gotten it on the App Store while it was still August, so there has been improvement!

I had already developed an iPad app (OnScreen DNA Model) but in that effort I had been able to avoid one complication that I’d have to deal with for OnScreen Pitch Count—the need to make the app completely usable whichever way the user wanted to orient the device. Apple reviewers are pretty insistent on this unless you have a good reason not to, which I was able to argue for in the case of the DNA model. For an app with numerous user interface elements and data displays in various views on the screen, this is not a trivial task. I guess it probably added a month to the development time. Knowing what I now know, of course, I could do the same thing again (and with better code design) in a much shorter time. Every app developed makes it that much easier to develop the next.

The main question to address was how was I going to use all that extra screen space to enhance the app? I wanted to use as much of the iPhone app’s code as I could and also make the iPad app seem immediately familiar to anyone that already had the iPhone version. One of the difficulties in adding a new type of pitch data to the iPhone version is the lack of space on the screen to present it. I’ve had users request the ability to record and see first pitch strikes and balls and the number of strikes in the last ten pitches, for example. There was room for these and more on the iPad screen, so I couldn’t use the lack of space excuse on the iPad and have indeed coded the iPad app to keep track of these numbers. The users of OnScreen Pitch Count for iPhone can expect to see these features incorporated in an update before long. I’ll come up with a way to show the new data, even if it’s not a pretty way.

I played around with a number of ideas on how to use the extra screen area of the iPad but eventually decided that the default (and currently, only) use should be to display pitch result data for the different pitchers in the game. All those results are available for viewing with the iPhone version, but the user has to swap out the pitch recording screen in order to see the complete pitch results, and still the results can be seen for only one pitcher at a time, even for completed games being reviewed.

The bottom right panel of the iPad contains the buttons for recording pitch results and a display of the current situation: count on batter, runners on base, and outs. The lower left panel shows the cumulative pitch totals in various categories for the pitcher currently on the mound. These are updated after every pitch. The default layout is then to have the same data displayed in the upper left panel (also kept current), only in the relevant percentages that go with the numerical totals show below it The upper right panel displays the totals for the pitcher on the opposing team, if that team’s pitches are being recorded. If there are more pitchers, or if the user wants to display percentages for a pitcher other than the default, he or she can make that choice. So there are three panels available for showing pitch totals while a game is being recorded with the lower left panel always showing the current pitcher. For reviewing completed games, all four panels are available for displaying pitch results at the user’s choice, both in terms of which pitcher and whether totals or percentages.

The last major upgrade feature added to OnScreen Pitch Count for iPhone was the ability to send as email attachments files containing the recorded pitch data in a format that anyone with the app could read and display on their own device. In addition to file sharing this feature provided a way to back up files on any computer. Of course, I wanted to make it possible for users of both the iPad and iPhone versions to share each other’s app files as well, and this turned out not to be that difficult. So anyone with games recorded on the iPhone version can email them to the iPad for viewing the data of up to four pitchers at once.

I’m really glad to have the basic coding of this app behind me and can’t wait to see how people with iPads like it. As always, I invite anyone with a problem, question, or suggestion to email

Maybe I’ll take a break from coding long enough to write something for this blog, or should I say blog archive, since that’s all it’s amounted to for the past several months?

iPhone App Update Roundup

Wednesday, August 11th, 2010

I’ve gotten three of the OnScreen Science, Inc. iPhone apps reworked for iOS 4 and the new iPhone 4. Two of them—OnScreen Pitch Count 1.5 and OnScreen GPA Pro 1.2—have been approved and are now on sale. OnScreen DNA Lite for iPhone 1.1 is still in the queue for review. If things proceed as for the other two (week of waiting, a few hours in review), then the update of the third app should be on sale August 12 or 13. The update of the fourth app, OnScreen QB Stats, involved more than just making it work and look good under the new system and on the high-definition “Retina” screen of the new iPhone. I wanted to give it the same improved user interface and navigation among games and players that OnScreen Pitch Count had recently received, so it is taking a little longer. Given that football season is still a ways off, OnScreen QB Stats was a lower priority. Assuming the rest of testing and debugging is not prolonged, that update should be on sale by around August 20.

One of the nifty new features of iOS 4 on later generation iPhones and iPod Touches is multitasking. Whether or not it’s “true multitasking,” Apple’s implementation of the feature allows for keeping an app in memory when a new app is chosen to run on the same device, and then later to quickly switch back to the original app without having to load it again. Since the OnScreen Science apps had been programmed to remember where they had been whenever the user jumped to another app, so that they could resume right where they left off upon relaunch, the only difference with multitasking will be in the speed of resumption, but a second or two is a second or two.

The other essential part of updating for the latest iPhone is to make sure the screen displays of the app look good on the Retina screen. That means a developer has to produce and include higher resolution versions of any images and icons that the app displays. New screen shots for the iTunes App Store display of the app also have to be submitted. These were straightforward but somewhat tedious tasks. There weren’t many such images, so I had it easy compared to some people.

The one app I was worried about providing a nice iPhone 4 version for was OnScreen DNA Lite for iPhone. The virtual DNA model is drawn in 3D using the iOS implementation of OpenGL ES. The drawing assumes a certain pixel density, which is way off for the Retina display of the iPhone 4 which has a higher pixel density. Images drawn with the unmodified OpenGL code are displayed on the Retina screen just by blowing them up, so that they actually look worse—much more jagged—than they did on the old iPhone. It took me a while to figure it out, but the solution was very simple. I only needed to put in a test for what device the app was running on, and in case it was iPhone 4 make a change to one line of the old code (doubling the dimensions of glViewport for the iPhone 4) and add a call to scale the image by a factor of 2. I couldn’t believe my luck when I tried just that and saw it was all my code needed. Not only does the iPhone 4 version look better than the old version did on the iPhone 4, it looks better than the old version did on the old iPhone, since it takes advantage of the higher definition screen (extra pixels) during the image rendering. This can be seen in the comparison below.

old dna image

Above is a screen shot from the original iPhone running OnScreen DNA Lite for iPhone.

iphone4 dna image

Above is a screen shot from an iPhone 4 running OnScreen DNA Lite for iPhone.

There was another update to OnScreen Pitch Count before the latest version 1.5. A user had encountered the problem of not being able to view the pitching stats for the last couple of pitchers when he’d kept track of pitches for numerous pitchers on both teams. This turned out to be a bug I’d introduced in version 1.4 when I failed to take into account a change in view dimensions made necessary by the addtion of a toolbar at the top of the screen. The user called me to point out the bug, and I was grateful for that. I had a fix submitted in a day or two. I had already been working on the iOS 4 upgrade, but felt I needed to get the bug fix online as soon as possible without waiting for completion of the other changes, which is why 1.5 followed 1.4.1 so closely.

OnScreen Pitch Count Update 1.4 Now on iTunes App Store

Monday, June 14th, 2010

A new version of OnScreen Pitch Count, the most complete, easy-to-use app for recording baseball pitch results on the iPhone and iPod Touch, is now available. Getting OnScreen Pitch Count to the point where it did its main job well and reliably in a way that was quickly learned was my top priority, and I think I was successful in that right from the first release. With time I’ve been able to add features such as emailing results, including attachments that can be imported into spreadsheets. This new update is more in the nature of a polishing than one that introduces big changes. I’ll just use a few screen shots as the quickest way to point out the differences from earlier versions. I recommend downloading the new User Guide for more complete details.

An obvious difference to anyone that’s used the app before is the presence of a toolbar at the top of the different screens of the app. The main screen in which pitch data is entered is shown below. The four toolbar buttons with titles, none of which are used for recording pitch results, were formerly elsewhere on the screen and just do what they always have. The totally new control is the one with the opened lock icon on the left of the bar. A bit below it, in the top yellow region, is a closed lock, which indicates that the screen is locked, its normal condition. As one might expect, tapping the button unlocks the screen and changes the icon indicating the lock state to show an open lock. So what does unlocking do? Two things really. First, it makes it possible to edit the pitcher’s name. Previously, once the name had been entered and saved it couldn’t be changed. Obviously, there are times you might want to change the name, including of course when you’ve misspelled the name for some reason, but also when you’ve only learned the pitcher’s name sometime after the game started, or even after it ended. Unlocking allows you to change the pitcher’s name both during the course of the game or later when you’re reviewing it.

The other thing unlocking does is to make it possible to terminate an inning before three outs have been recorded. This is something that comes up in leagues with limits on runs scored or total batters in an inning. Having coached in a minor Little League that only allowed a team to bat once through its complete order in an inning, I should have thought of this myself, but I had it pointed out to me by a user who coaches a Little League team in Texas. Thanks, Daren. Unless the screen is unlocked with the toolbar button, the New Inning and Switch Sides buttons are disabled (as shown) until the third out of the inning has been recorded, in keeping with my philosophy of preventing accidental taps that can mess up pitch recording. But this was a clear case where an override was needed.
The screen below is one where the pitching results from a game are being reviewed after the game has finished. The toolbar is a bit different from the one already considered. The unlock button allows the editing of the pitcher’s name as before. The Games button is a new one for the app. It allows the user to go directly to the list of recorded games to choose another game to review. This required a couple of steps previously, and the steps were not as obvious as tapping an appropriately labeled button. The Review button is as before. It brings up the complete list of pitchers for which stats were kept in the game. The Done button is to make a new choice to either resume a game, start to record pitches for a new game, or review previous game results (which is what is already being done). Displaying the team name under the pitcher’s name when reviewing a game is also new.
The screen below shows the list of pitchers with recorded stats for a certain game played last July. Note that the toolbar for this screen also has a Games button, making it easy for you to choose a different game if you decided to do so at this point for some reason. The Cancel button will take you back to whatever screen led to the currently showing one if you want to do that directly.
The screen below shows an example of a list of games for which pitch results have been recorded. The Cancel and Done buttons have the expected result. The new feature is the addition of an option in the control at the bottom to Edit a game. Select Edit and then tap on a game in order to edit the names of one or both of the teams in that contest.
All of the new features were requested by users. I think having an easier and more direct and obvious way to navigate from game to game when reviewing pitching performances previously recorded is by far the most important improvement. It was the app’s rather awkward navigation between games and pitchers that caused it to receive a couple of “Great app except for…” reviews. I’m hoping those reviewers will find it in their hearts to review OnScreen Pitch Count again after using this updated version and to give it that extra star in the rating. In any case, I have the satisfaction of knowing I’ve made a good app even better. If you don’t already have it, go check it out on the iTunes App Store.

An OnScreen DNA Lite™ for iPad Gallery

Tuesday, May 4th, 2010

Apple’s iTune App Store provides one standard way (and place) for “apps” developed for the iPhone and iPad to be displayed. The app store listing is really a pretty good way to learn something about an app once you’ve managed to reach the page devoted to it. Apple lets developers describe the app in under 4,000 characters and choose up to five screen shots of the app for display in its listing. The screen shots are presented without captions, so they basically need to tell their own story.

I chose the screen shots used for the OnScreen DNA Lite listing on the iPad app store with the aim of trying to show various features, but I think a little description could be useful, so I’m presenting here those same screen shots with some explanatory text. The dimensions of these screen shots have been squeezed down to fit into the blog column, so the area of the images is less than a quarter of the iPad display’s.

Here below is the thirty-five base-pair double helix of OnScreen DNA Lite’s virtual model. Note the row of control buttons at the top. The display mode is what we have called “Balloon,” which just means that the balls used to represent molecules in the DNA structure are substantially larger than they are in the “Skeletal” mode in which the double helix structure may be more apparent. The Balloon mode is closer to the “space filling” representations sometimes shown, but not so much as to hide the structure. Since Balloon mode is in use, the button that controls this feature reads “Skeletal” to indicate that a tap of it will shift to the Skeletal representation.

double helix

The sticks connecting the balls (molecules) in the model represent chemical bonds, which are less apparent in the Balloon mode. The model is shown above with “Tilted Bonds” (a button choice), which means that the sticks representing the glysosidic bonds between the deoxyribose phosphate molecules (white balls) and the nitrogenous bases (colored balls) are at an angle to the line between opposite sugar phosphates in the DNA strands. This bond tilting is what causes the unequal spacing of the grooves (major and minor) that wind around the double helix structure. I expect to add a feature for making it obvious what these grooves are in a future update. The text in the panel above the image makes the point that the model with unequal grooves is more like the real DNA structure than the simpler model used for the simulations.

Note that the bottom of the screen shots show the base sequences of the DNA strands of the model using the familiar letters GCAT (for guanine, cytosine, adenine, and thymine). The color coding is the same for the linear (letter) representation and the model.

The screen shot below shows the popover view that has the key to the model of OnScreen DNA Lite. It gives the names of all the molecules and chemical bonds shown in the model. Note that the phosphodiester bond has two parts indicated. The bond is shown with two colors to make it clear that there is a polarity to the DNA strands, and that they are of opposite polarity (“point” in opposite directions).


The screen shot below shows the DNA model with one of the two strands hidden, which is accomplished by a button tap. This makes the helical structure of each strand apparent. Note that this shot is with the Skeletal mode selected. Natural DNA is right-handed, meaning that a strand circles around the axis of the helix in a clockwise fashion as it advances down the axis. This handedness may be easier to see with a single strand. To further make the concept of handedness clear, OnScreen DNA Lite also has the option to show what left-handed DNA would look like. In the screen shot the model has been rotated to the side and held there. This is easily (and satisfyingly) accomplished by a swipe of a finger on the iPad screen.

single strand

In addition to displaying the DNA model in various static (though rotatable) forms, OnScreen DNA Lite features a couple of simulations of phenomena that can occur with DNA in the laboratory. The first is denaturation, in which heating the DNA breaks the hydrogen bonds that keep the two strands joined together, thus allowing the strands to separate as single threads no longer bound to a helical shape. The screen shot below shows the two strands after denaturation has occurred, but the simulation that preceded it would have shown the strands being stretched and jiggled as the temperature increased, with individual bonds breaking until the double helix couldn’t be maintained. Note that, while showing that the hydrogen bonds are the most easily broken, an essential property for the functioning of DNA, which requires controlled strand separation at life-supporting temperatures (not the boiling temperature that brings on denaturation), denaturation is not a natural process occurring in living cells.


After the DNA strands have been separated in denaturation, it is possible (after the temperature has subsided) for them to recombine in the opposite process called renaturation. A few bases in one strand may come into sufficient contact with their complementary counterparts in the other strand to form a string of hydrogen bonds which can serve to hold the strands together long enough for other bonds to reform. This can be simulated in OnScreen DNA Lite after denaturation has occurred. The screen shot below captures an instant in the renaturation process after much of the double helix has been reformed, but before the process has been completed.


Screen shots can be useful in getting a picture of what an app is like, but static pictures can’t really do justice to an app with dynamic simulations and with a model that can be rotated by touch. For the true experience you’ll need an iPad and the OnScreen DNA Lite app. But soon there will be a version for the iPhone and iPod Touch. For more on OnScreen DNA Lite for iPad see The Thinking Behind the OnScreen DNA Lite™ iPad App.

The Thinking Behind the OnScreen DNA Lite™ iPad App

Friday, April 2nd, 2010

My first iPad app, now ready for sale on the iTunes App Store even before the iPad has gotten into many hands, is called OnScreen DNA Lite. Check it out! I plan to relate something of the hectic development of this app in a later post. Here my aim is to describe the iPad app a little and to motivate its development. The app is based on OnScreen DNA, a science education program I created a few years ago, first for the Macintosh OS X, and somewhat later for the Windows side. My primary goal in developing OnScreen DNA was to provide students (and all persons interested in DNA) with a way to reach a deeper, more intuitive understanding of DNA structure than I felt they were likely to obtain from reading text and looking at two-dimensional static images of a DNA model. I wanted to create a virtual, three-dimensional model that had most of the virtues of a real, physical one plus the enhanced power to simulate DNA processes with animations.

OnScreen DNA Lite’s computer model, programmed with three-dimensional perspective, is of the simple ball-and-stick type, in which the balls represent molecules, and the sticks represent the chemical bonds between these constituent molecules. A guiding principle in development was to make the relative dimensions of the model agree with those of the actual DNA molecule to the degree that makes sense for a ball and stick model. This meant getting the ratio between helical radius and the distance along the helix required for the molecular chain to make a complete revolution right, as well as showing the proper offset between molecules paired oppositely with one another in the two DNA strands. The distance between molecules in a strand, and hence the number of molecules in a complete revolution of the helical strand also had to be right.

Another crucial structural detail of the virtual helices that needed to conform with that of natural DNA was the handedness. The concept of handedness, which refers to the sense in which each helical strand winds around its axis, is one that seems largely to have escaped notice by those who make artistic renditions of DNA. My observation is that roughly half (the fraction predicted by a random guess) of all depictions of DNA show left-handed DNA, when in fact natural DNA (or all but a tiny fraction of it) in living cells is right-handed. OnScreen DNA Lite makes it easy to see the difference between right and left handed DNA by allowing the user to switch back and forth between the two.

In addition to showing the relative positions of constituent molecules in the DNA strands, the OnScreen DNA model uses color coding to identify the various molecular parts and chemical bonds. This is meant to give visual reality to the idea that a molecule of one type (color) will make a cross-strand bond with only one other type (a different color). The molecules that form a connection between their respective strands are represented by one another’s complementary colors. The color also makes the visual point that the molecules (nucleotides) making up the DNA chains differ from one another only in the parts (nitrogenous bases) that make up the cross-strand pairs, while the connections that form the individual strands are between molecular components that are identical. This can all be said, of course, and should be said, but the colors in the model make the point in an immediately memorable way.

The molecules (sugar phosphates) that link together to form the chain of a strand do so in a particular way. Think of elephants forming a line by each elephant (except for the lead elephant) grasping with its trunk the tail of the one in front of it. The molecules have an asymmetry (think of trunk and tail) as well, and they form bonds between dissimilar parts (the “tail” being the part of the molecule where the phosphorus atom is). Thus we can think of a strand of DNA as “pointing” in a given direction just as the line of elephants heads in a certain direction. We say the DNA strand has a certain polarity (as a bar magnet has polarity: N at one end, S at the other). It turns out that in the real world, the two DNA strands in a double helix are aligned with opposite polarity. They point in opposite directions. The color coding of the OnScreen DNA model reflects this feature as well, visually indicating it in the colors of the relevant chemical bonds.

In order to perform its biological function in living cells, the DNA molecule must at times have portions of its two strands separate from each other. The separation and unwinding of the strands, and the nucleic acid chain constructions involved in these processes are orchestrated by complex proteins called enzymes that catalyze just the right reactions at the right time and place in the required sequence. In the full OnScreen DNA edition, animated simulations are used to show how this occurs. OnScreen DNA Lite does not include these biological processes, but it does show how the laboratory process called denaturation takes place. The temperature required to achieve this is too high for a living cell to survive, but in the lab, the jiggling of the the double helix at the high temperarture is strong enough to break the bonds holding the two strings together. OnScreen DNA Lite for iPad animates this process, finally arriving at the point where the two strands are completely separated from each other and no longer have any helical shape, just as happens to real DNA in the lab under heating. The reverse process, in which bonds reform between complementary pairs to recombine the two strands into a double helix can also occur, and OnScreen DNA simulates this phenomenon of renaturation also.

Even though the biological functioning of DNA is not demonstrated by OnScreen DNA Lite, its animations can serve to make the point that the hydrogen bonds connecting the two intertwined strands to each other are much weaker than the other chemical bonds of the DNA molecule, a fact that is crucial for the strand separation that has to take place in the biological processes. Furthermore, I believe that seeing the strands in the act of recombining makes the fact of their entwinement all the more memorable, which is important because it seems it can be lost to consciousness when only two-dimensional images or the typical ladder-like double strand renderings are seen.

The desktop version of OnScreen DNA allows the user, by means of the mouse, to rotate the model about its helical axis and about an axis perpendicular to that. Making these rotations serves to enhance comprehension of exactly how the double helix structure is put together and to fix its three-dimensional geometrical shape in the mind. Causing the on-screen rotation by dragging the mouse pointer across the screen is fun, but the pointer on the screen is at a distance from the hand directing it. I, along with almost all other developers of iPad apps, was without the benefit of an actual iPad on which to test the app I was making and thus had to use the iPad simulator that runs on the Macintosh to see what the app should look like on the real device. Thus I was deprived of the tactile part of the iPad experience, as mouse clicks and drags had to simulate their finger-on-screen counterparts. I did, however, have a chance to test on a real iPod Touch the prototype of OnScreen DNA Lite for iPhone, and I loved how I could make the double helix rotate by moving my finger on the screen. It was much closer to dealing directly with a physical object, and much more satisfying. I can’t wait to get my iPad and to start making further improvements to OnScreen DNA Lite for iPad.

OnScreen Pitch Count 1.3 Is Now on the iTunes App Store

Saturday, March 13th, 2010

A new version of OnScreen Pitch Count (1.3), my iPhone and iPod Touch app for recording, calculating, and reviewing pitch results and stats of baseball and softball games is now available. A major improvement to the app is the new ability to email pitch data from a game as an attached file in csv (comma-separated values) format. The csv format is one easily imported into spreadsheet programs such as Excel. Once you have the data in a spreadsheet, you can perform any of the many operations available, such as totaling the various pitch quantities for the all the pitchers in the game and so on. Also, once the data is in the spreadsheet’s rows and columns, it can be easily transferred by cut and paste to a master spreadsheet you may be maintaining with full season results, for example. The email can be sent with an attachment or with just a text summary of the results without even leaving the app. The attachment feature is one that a few OnScreen Pitch Count users had requested, so I’m glad to have it up and running.

The other major addition is the ability to record wild pitches. There is a new button to tap after a wild pitch occurs. A wild pitch is only recorded when a pitcher throws a ball beyond the catcher’s reach with the result that a base runner is able to advance; so the wild pitch (WP) button is only enabled when there is at least one base runner. This should minimize accidental wild pitch recording. This disabling of the button needs to be taken into account in a couple of instances though. When a runner reaches first base after a missed third strike due to a wild pitch, the user should first put the runner on base with the Other OB button, and then record the wild pitch. If the sole base runner scores on a wild pitch, the wild pitch needs to be recorded before the run is recorded, since that removes the sole runner from the bases and disables the WP button. This is only logical, but might not be obvious the first time. These cases are pointed out in the new pdf User’s Guide for OnScreen Pitch Count available for download online. Wild pitches are common at lower levels of youth baseball and softball, so this can be an important statistic in evaluating how a pitcher is doing and in getting to all the factors that contribute to run scoring.

The screen shots below show the new wild pitch (WP) button and the display for the number of wild pitches. It required a little shifting of buttons and labels around, but the result was good and uncrowded.


Above is the main screen on which pitch results are recorded by button taps.


Above is the screen in which cumulative game pitch totals are displayed.

A coach from Texas called me a couple of weeks ago with a question about OnScreen Pitch Count, which he was planning to use in a game that evening. I confess I was jealous. I’m sitting here in New England on a cold, rainy night, knowing baseball and softball are a month away, and with lots of cold rainouts to come even then. Not only that, when the season starts I won’t be getting a team of kids ready as I did for years in the past. It’s a nostalgic time for memories of when my kids were little. My daughter is still playing, a high school sophomore softball pitcher, and I’ll be there in the stands with OnScreen Pitch Count for all the games I can get to. It’s a good feeling to know there are others (though far from enough!) now using this app I created to capture the pitch results that I, as a coach, would have liked to have had.

You can download OnScreen Pitch Count from the iTunes app Store or find out more about it, including a video and the User’s Guide, at Previous blog posts (“OnScreen Pitch Count: An iPhone App Preview”, “OnScreen Pitch Count Now On Sale on iTunes App Store!”, and “IPhone App Updates and Experiences”) say more about OnScreen Pitch Count and some of my experiences developing and presenting it.

Free! One Week Only—OnScreen GPA Pro

Thursday, February 25th, 2010

OnScreen GPA Pro for iPhone and iPod Touch, the latest app from OnScreen Science, Inc., has been available from the iTunes App Store for a little over a week. This grade-point-average calculator, with an option for multiple students, features customizable calculation formulas and an easy way to make what-if projections of GPA.

The app debuted on what turned out to be a bad day. Usually when an app first appears on the store it gets a chance to be on the first page for apps in its category ordered by release date for a day or two. There were so many apps released on the same day that, due to its assigned time of release, OnScreen GPA Pro ended up near the bottom of page 4 in the Education category from the start and then went to page 9 (virtual oblivion) the next day. It makes a lot of difference from the standpoint of initial sales to be visible on those first couple of days. Having missed that opportunity, OnScreen GPA Pro has had to rely from the start on people using the iTunes search system to come across it. A search on “GPA” brings up several apps, and, as a newcomer, OnScreen GPA Pro is not near the top of the list, not even visible unless the person chooses “Show All,” which makes it less likely people will check out its features to discover the extra power it offers.

One of the things that’s making it harder to even get that initial visibility due to a new release on the iTunes App store is that quite a few developers are releasing suites of apps all at the same time. For example, OnScreen QB Stats got swamped by a slew of apps that just followed NFL players on Twitter. There was a separate app for each team! OnScreen GPA Pro ran into a couple of foreign language series. I wish Apple would come up with a way to show a suite of apps as a single entry.

Since I last wrote about OnScreen GPA Pro, I’ve made a four-minute video to illustrate how it works. Also note that the OnScreen GPA Pro User’s Guide is online.

In order to get OnScreen GPA Pro onto more iPhones and iPod Touches and hopefully to thereby generate some good word-of-mouth (or blog) advertising, I’m making the app free for a week. Just go here and download it. If you like OnScreen GPA Pro, I hope you’ll rate it and perhaps write a brief review. If you don’t like it—and especially if you encounter a problem—please email me about it, whether or not you rate it.

Tell anyone you know who might be interested in having an easy way of calculating GPA and having handy access to GPA records about this limited-time free download.

OnScreen GPA Pro: An iPhone App Preview

Wednesday, February 10th, 2010

My very long absence from this blog has been due once again to work on an iPhone app, but I plan to take a break from coding, assuming the app, which I just submitted to Apple for approval today, doesn’t require quick revision. As the title of this post no doubt indicated to anyone potentially interested in the app, it is an app that calculates grade point averages, universally known as GPA among those concerned with them. My first encounter with the concept was as a college undergraduate. My high school had kept what amounted to an equivalent sort of average, the one where an A was a 95 and so on. In college, where courses might have different credit values assigned to them, a different method was needed, based on the idea that, for example, making an A in a 4 credit course and a B in a 3 credit course was a better result than if the grades for the two courses were swapped. So grade points were assigned by multiplying the worth of the grade times the credits for the course, with an A being worth 4, a B worth 3, and so on. Add the grade points up and divide by the sum of the credit values of the courses to obtain the GPA. For historical accuracy, I should state that the University of Texas in my day used a 3 point maximum (for all A’s) system, but the principle was the same.

It seems most high schools have by now adopted the GPA method of ranking students. That much I understood, but in recent years I became aware of a wrinkle that has been added to high school GPA calculation. At my kids’ high school, an honors class gets an extra half a point added to its grade, making a 4.5 the maximum grade point per credit for an honors class, while an Advanced Placement (AP) course gets a full extra point added. I suppose one motivation for this “weighting” of grades (as its called, though I’d have called it “incrementing,” since there’s not really a multiplicative factor involved) is to encourage students to take the more challenging courses without fear of bringing down their GPA. Of course it also encourages students that are competing for class ranking and to get into very competitive colleges to load up on AP courses. Given that weighting of courses seems to have become the rule, that then puts students at high schools that don’t offer AP courses at a disadvantage, which has led some colleges to look rather at “unweighted” GPA. Other college admissions offices may keep the weighting, but eliminate the non-academic classses such as gym, as they recompute the GPA.

Thus there can really be a number of GPA a high school student might be interested in knowing. A college student needn’t consider weighting, so far as I know, but a student planning to apply to graduate schools may need to be mainly concerned with grades in the major subject, possibly only the upper division courses. I know that as a physics undergraduate, I was given to believe that my GPA in upper divsion math and physics courses were what mainly mattered. It was these sorts of considerations that convinced me that a flexible GPA-calculating app that allowed the user to maintain a set of customizable formulas for doing the calculations would be worth developing, since from what I could tell there wasn’t such an app already being sold.

To obtain the flexibility I wanted, the app would need not only to do weighted and unweighted calculations, it would also have to provide an easy way to include or exclude certain courses such as non-academic ones or courses outside the major. So in addition to having standard, honors, and AP categories, I added an “other” option, just for ease in selecting whether to use a course in a given calculation. An example of a course definition is show in the app screen shot below.


An example of a calculation method with the choices available is shown below. The user can create just those of the four possible definitions (weighted/unweighted with others included/excluded) wanted for the GPA records. When I say four, I’m assuming the other options of grade step and A+ handling would be the same for all calculations of interest, which might conceivably not be the case.


If even those four aren’t enough for a particular case, I’ve made it easy to duplicate a whole year’s (or other term’s) courses. Thus there could be two versions of the Sophomore Year with some courses absent from one of them. A simple on/off switch in the list of terms makes for easy switching between the two cases. This feature of optional inclusion of a term in the GPA calculation can also be used for calculating the GPA under different future scenarios. Note the “Best Case” and “Worst Case” Junior Year options in the screen shot below.


An example of the courses defined for a full term is shown below.


I also decided to make the app capable of keeping the grade records and GPA calculation methods for multiple students. All the GPA files stored on a given iPhone or iPod Touch are available for inspection and modification through selection from a list, as shown below.


Finally the app description that was submitted is seen below. Details of how the app works are in the User’s Guide.

OnScreen GPA Pro provides these extra benefits:
• Gives you the power of multiple customized GPA calculation formulas to match any school’s method.
• Lets you keep grade records and calculate GPA for any number of students.
• Makes defining and calculating GPA for what-if scenarios a snap.
• Makes it easy to calculate GPA including or excluding a user-defined course category.
• Allows fractional credits.
• Simplifies entering new data by allowing duplication of existing courses, terms, and whole files.

See the OnScreen GPA Pro User Guide at to get a fuller picture of the app’s power and simplicity.

Say you’re a high school student and you’ve set up your GPA calculation to match the way your school does it. That’s what you need for determining class rank. But what if the college you’re applying to turns out to use a different method? Perhaps they don’t consider non-academic courses, such as gym. Perhaps they don’t use a GPA “weighted” to give extra grade points to honors and AP classes. With OnScreen GPA Pro, you just define a new method to match that school’s way and calculate GPA using whichever method you choose. There’s no point being limited to one or two calculation formulas, when this app lets you define one to match that of any school or to make one up to satisfy your own curiosity.

In addition to standard, honors, and AP categories for classes, there is a “wild card” category called “other”, which can be anything you choose it to be. You can define a calculation method to exclude the “other” category. For example, if you’re a college student considering graduate school, you may find that upper-division courses in your major are of greatest importance. OnScreen GPA Pro makes it a snap to calculate your GPA for just those courses. If you’re a high school student, you can peg your non-academic courses as “other” and define a calculation method that excludes them, while having another that includes them.

The app is flexible in another valuable way. You can easily include or exclude from your GPA any given terms or years you choose. In addition to making it easy to see how your GPA has changed from year to year, this gives you the power to make “what if” scenarios for the future. What if you make all A’s your senior year? Just define a best case senior year as one of your terms. Include it in your GPA calculation to see how much it can change where you currently stand. It’s as simple as tapping an on/off switch on your iPhone screen. Use this as a motivational tool.

If you really are a “GPA pro,” i.e., someone whose job involves accessing a lot of GPA, such as a high school guidance counselor or college admissions interviewer, then OnScreen GPA Pro’s ability to keep complete grade records with GPA for any number of students on your iPhone or iPod Touch is obviously a feature you can use. But even if you’re not a pro, you may appreciate the ability to record the grades for all of your children or for friends and siblings. The other benefit of having multiple files is that you can make a backup file, just in case you accidentally delete something from your record.

To make entering new terms and courses faster, OnScreen GPA Pro lets you duplicate ones you’ve already created. It’s faster to duplicate your whole junior year with the name senior year, then go through and edit the course names and grades than to create a new term called senior year and add courses to it one by one. But you can do it either way. Duplicate your whole file to make a backup or to use as a template for making a file for a friend with a similar schedule.

Taken together, the features outlined above put OnScreen GPA Pro in a class by itself.

OnScreen QB Stats: A New iPhone App for Evaluating Quarterbacks During and After a Game

Wednesday, December 30th, 2009

OK, having spent several weeks working on OnScreen QB Stats™, a sports-category iPhone app that just made it to the iTunes App Store about a week ago, I want to say something about it and how it came to be. As its name will probably imply to most readers, the app concerns American football (I’d forgotten the field has a different length in Canada, so Canadian football must wait), specifically the player that is most important on most teams, the quarterback (QB). He’s the player that handles the ball on virtually every play and has the biggest chance of deciding who wins the game through his ability to move the ball down the field in big jumps by completing passes, including some that score touchdowns. Of course the quarterback can also squander a down by throwing a pass that can’t be caught or, much worse, he can give the ball to the other team by throwing a pass that’s intercepted. Naturally people would like to quantify quarterback performance, so, in addition to being a very important player, the quarterback is the player for which there are the most statistics recorded and calculated. OnScreen QB Stats enables one to record a quarterback’s raw passing results during the course of a game and review the derived stats such as completion percentage as well. It can be used to record and display on an iPhone or iPod Touch the passing stats of every quarterback in the game for each team.

The full set of quarterback statistics recorded and calculated by OnScreen QB Stats is shown below.

The User’s Guide for OnScreen QB Stats is available as a pdf file. There every button and display is briefly explained.

After finishing my first app, OnScreen Pitch Count™, I had begun to think about making a version for the iPhone of OnScreen DNA (my virtual model of the double helix molecule of life, which runs on Macs and Windows PCs). I had already started experimenting with OpenGL ES toward that end, when it occurred to me that a lot of the nitty gritty coding I’d already done for OnScreen Pitch Count, which allows a user to record and review the results of baseball pitchers’ pitches, could be easily adapted to an app that followed quarterbacks’ passing results. That is, the machinery for saving and restoring the passing results, for reviewing those results, and for setting up the data storage for the results of individual quarterbacks on the two opposing teams, would be but a minor change from that already developed for the pitchers in OnScreen Pitch Count. That actually turned out to be pretty true. One modification was that I had to allow for the possibility that a quarterback might re-enter the game after being replaced for a time, which is not something that happens in baseball.

I had also assumed that the actual data entry by tapping buttons on the screen would be at least as simple for the pass results as for the pitch results. I thought the bookkeeping involved would be simpler for football, since I wouldn’t have to worry about strikeouts, walks, outs, base runners, and innings (not to mention complications such as charging runs to pitchers after they’d left the game). I thought I’d be able to write the football app in three weeks or so, finishing it in time to justify working on it for the current season. Since every high school, peewee, and non-bowl college game in the country (as far as I know) had been played before the app finally became available, I obviously misjudged the complexity of the task. All in all, when I consider things like the extra choices that had to be coded for undoing an action (e.g. completely wipe out a touchdown pass, call it incomplete, or place the ball short of the goal line), and the numerous states to which the app might need to be restored after an interruption (e.g. awaiting line of scimmage determination after a pass completion) the quarterback app seems to have been more work than the pitching app.

There is less to record for a quarterback than for a pitcher. We need to record attempted passes, completed ones, and intercepted ones. Then we need to keep track of the yards gained passing and the number of touchdown passes. Those are the basics. I added quarterback sacks and longest completed pass for good measure, but from the basic pass statistics we can calculate derived quantities such as yards gained per passing attempt and the rather arcane numbers called quarterback rating in the NFL and passing efficiency in the NCAA. Both of these rating methods use pass completion percentage, yards per attempt, interceptions, and touchdown passes to come up with a number that serves as a basis for comparison among quarterbacks. Although, the number is much less meaningful in a single game than in a season, it can be of interest to know what it is for a game, and OnScreen QB Stats will calculate and display whichever measure of quarterback performance the user desires.

Although the data to be recorded might seem at first glance to be simple, in practice it is more complicated. Someone sitting in a press box with a spotter to provide the details of each play could get by with an app that recorded completions, incompletions, yards gained, interceptions, and touchdowns. But for someone watching a game from the sidelines or stands or even on television, there is the problem of determining how many yards were gained on a given play. The only way to do that with full confidence is to keep track of where the ball is after each play, since one doesn’t know in advance which plays are going to be passes. Once a play is underway, it is difficult to note the line of scrimmage from which play started and then calculate yards gained by noting where the receiver was brought down. It’s a lot to take in and keep straight in a short time, even assuming one has a good view of the sideline yard markers, which is often not the case when watching a game on television. The additional challenge is to do all the data entry on the iPhone without recourse to pencil and paper or on-the-spot mental calculations.

OnScreen QB Stats solves the problem of passing yardage calculation by making it easy to record the new line of scrimmage after each play; and if the play leading to the change of field position is a completed pass, the app automatically calculates the corresponding gain in yards and adds it to the total for the game, while adjusting all other stats that depend on passing yardage as well.

It took me a lot of trial and error to come to this easy way of recording the new line of scrimmage after each play (or penalty). At one point I had thought that using a slider control to just slide a pointer along a representation of the 100 yards of the field to mark the current line of scrimmage would be both intuitive and fast. I ran into two problems with the slider method. For one thing it was hard to quickly obtain the precision I needed down to the yard, which is only 1% of the length of the control. So, I added a second fine-tuning slide control to move the pointer just within plus or minus a couple of yards of where the full-field control pointed. This solution worked, but frequently required using both controls, which was a nuisance. I might have decided to live with it, given the intuitiveness of the slider, but the controls turned out not to be reliably responsive on an actual device. Sometimes the sliders were easy to drag, sometimes they seemed in need of a squirt of WD-40. It was hard to ditch all the work that I had put into that method of yard line setting, but I decided I had no choice but to code a new method.

The solution I came up with can be seen below.
The screen above shows how one enters the new line of scrimmage after a play has been completed. This screen appears whenever the user taps a button to record a play from scrimmage or a penalty (or simple need to adjust the current setting for the line of scrimmage). In the example shown the team with the ball has reached its opponent’s eleven yard line. Note that the “Defense’s End” is highlighted in the top control to indicate which end of the field the ball is in. That control also adjusts so that the ends of the field in the sense of right and left correspond to what the user sees, assuming the initial setup has been made correctly and the correct quarter has been maintained. Whenever the ball goes to the other team (currently called Defense), the labeling of the top control reverses (Offense becomes Defense and vice versa), so that the field situation is correctly mirrored. At the end of the first quarter, for example, the same switch takes place.

The yard marker for the current line of scrimmage is shown to be 11, and that choice has been made by tapping the tens place control (blank to 5) on its “1” and the ones place control (0 to 9) also on its “1”. There is no keyboard to deal with, and for short yardage plays only the ones place control needs to be adjusted in many cases.

The number 24 beside the “Check Gain” button shows that the user has tapped that button in order to see how many yards will be recorded as having been gained, assuming the ball is marked at the 11 yard line. The previous line of scrimmage must have been the opposing team’s 35. The “Record Pass” button is to be tapped once the user is satisfied with the choice of yard line (here the 11) and need not be tapped until the final spot has been made to minimize the need for adjustments. The button’s title being “Record Pass” indicates that the play just over was a completed pass. On a running play (or pass by someone other than the quarterback), it would be reading “Record Gain” (or “Record Loss”). The “Touchdown” button’s use is obvious, and in the case of a touchdown pass, there is no need to set the yard line button by hand.

The screen below shows the most basic results of the quarterback’s passes and also contains the buttons for registering which type of play has occurred. The pass results shouldn’t need description. The four buttons stacked in the lower right are for recording pass results or for canceling out the previously recorded play (“Undo”). We are especially interested in eliminating the chance for accidental recording by unconscious taps for these four buttons, so they all require a double tap to work. Double-tapping the “Incomp” button just increments the number of passes and the Down, which is displayed in the yellow area along with the yards needed to make a first down and the current location of the ball, which is the opponent’s 42-yard-line. The display of the “42” in red indicates the team with the ball has crossed midfield into the other team’s territory.
The down and yard marker are kept up to date by the app as a way of providng a check on whether the user has entered any data incorrectly. For example, if the user had failed to register that the team had crossed midfield, and had chosen the 42 yard line in the quarterback’s team’s end of the field, the display would be in black instead of red. As a further means of insuring ball movement is recorded in the proper direction, the user has two buttons to choose between for plays from scrimmage other than quarterback passes—”Other Loss” and “Other Gain”. If a gain has been chosen, then the new line of scrimmage must be in the right direction for a gain. The other buttons are to be used for what you’d expect given their titles. Kicks and turnovers lead to the other team having the ball, as do touchdowns. The “Go on Def.” button also gives the other team the ball, but shouldn’t be used except to correct a user mistake or when there’s been a fumble lost after a turnover of some kind not on a play from scrimmage (e.g. fumble lost on punt return).

Using OnScreen QB Stats just amounts to keeping track of the line of scrimmage and recording pass results. The app does all the calculations, including yards gained on passes. Recording pass results for a game on television can be challenging because so few announcers now state where the ball is after every play (I’d guess less than 25%). The line of scrimmage is often not shown until right before the snap, and it can often be difficult to see where a runner was tackled due to the camera angle when the tackle occurred (followed by the three replays with no view of the sideline markers). Even a televised game can be followed smoothly, though, after a little practice.

I think I can safely say that as of now there is not another app that allows one to record all of these passing results and view these stats for quarterbacks during the course of a game. So I’m hoping word gets out to those crazy folks (like me) that might like to have that power. If you know one, pass the word. It’s on the iTunes App Store here.

IPhone App Updates and Experiences

Tuesday, December 22nd, 2009

The biggest news on the app front is that OnScreen Science’s second iPhone app, OnScreen QB Stats, an app for recording, calculating, and reviewing the passing statistics of quarterbacks during and after football games, is now available on the iTunes App Store. I’ll devote another post to that soon, maybe tomorrow, but I want to catch up here on app number one, OnScreen Pitch Count.

OnScreen Pitch Count went on sale from the iTunes Apps Store August 26. I won’t go into the details of the typo I had in the press release I sent out or dwell on how the video I posted to show the app in action worked fine on a Mac or Windows PC, but not an iPhone. That’s all in the distant past, fixed and forgotten.

Once the app had made it to the iTunes App Store, I was looking to find reviewers for it to help get the word out. I’d had magazine reviews of my science education software in the past, all of them quite favorable (a four-star Macworld review of OnScreen Particle Physics caused a major uptick in sales years ago), but not in a long time and never, of course, for an iPhone app. My number one hope was that the Macworld web site would post a review. As luck would have it, Macworld had not long ago reviewed another pitch count app. That showed they had someone sufficiently interested and knowledgeable to do a review, but it might also make it less likely they’d want to devote space to another example in this little niche, even one that was better than the first, especially so late in the baseball season.

Apple provides every developer of an app forty “promo codes” for the free downloading of each new app or update. I sent a promo code with a review request to the email address of the Macworld reviewer, but never got so much as an acknowledgement. I hadn’t counted on a Macworld review anyway and had found other iPhone review sites (a good number of which are devoted solely to games) and approached a few of them. One or two review sites responded with the suggestion that I expedite a review by paying them. That I wasn’t about to do, and I wouldn’t really trust their reviews after knowing how they operate. A couple of reviewers took the trouble to download the app, test it thoroughly, and write a review of it, for which I am grateful.

The two iPhone app review sites that reviewed OnScreen Pitch Count were AppGirlReviews and JustAnotherMobileMonday (JAMM). I ran across the AppGirl on Twitter, and she was happy to take on the review (actually to pass it on to someone on her staff). I learned of the JAMM site via Google. JAMM had reviewed iScore, a baseball scorebook app, for the iPhone. This review showed the reviewer to be a baseball fan who liked to keep score during a game, which I thought, correctly as it turned out, made him a good candidate to review OnScreen Pitch Count.

Even though I felt the app was solid, and it had passed Apple’s review, I still felt some anxiety over the possibility, however unlikely, that a reviewer would uncover a crashing or data-scrambling bug. On that score I was quite relieved, as both reviewers had nothing but good experiences to report. There was plenty of agreement on the performance and power of the app and its ease of use, really, despite complaints about interface. The JAMM reviewer in particular disliked its looks, and I can’t blame him. I had used Apple’s Interface Builder’s oddly minimalist, totally two-dimensional rounded-rect default buttons for the interface.

My hope was that someone wanting to track a kid’s pitches wouldn’t be totally repelled by the looks, and I didn’t want to delay the app’s launch any more than I had to. Of course an unappealing interface can indicate overall lack of care, which by assumption might carry over to the actual functioning of the app. Fortunately, the reviewers used the app enough to see how well it worked. The JAMM reviewer couldn’t stand the app’s looks, but acknowledged that “like the story of the Ugly Duckling, there really is a fantastic and robust app hidden inside there.” In addition to general aesthetic objections, he wanted a more graphical interface (instead of labeled buttons presumably), but I confess I don’t know how to come up with something that would convey “ball” as well as the word. And so on. A great deal of experimentation went into button placement in fact during development.

For opposite reasons, which is interesting, both reviewers emphasized the limited market for OnScreen Pitch Count. The (male) AppGirl reviewer, in particular, seemed downright offended that I suggested in the app’s description that a normal fan might enjoy tracking pitches in a game he or she was watching. My claim was based on my own experience in testing the app, but the reviewer really took exception to the idea, noting that nonetheless he would let it pass and only report on how the app functioned. That is basically what he did, and he had plenty of good things to say, recommending it without qualification for coaches and parents of pitchers. But in closing he came back to say that otherwise it was of interest only to “fanatics,” and that it was “burdensome” to record pitch results. Despite all the positive things he’d said in the middle of the review (the only serious complaint was lack of email capability, which he thought was a “glaring” defect), he gave the app a mediocre numerical score.

The JAMM reviewer, on the other hand, felt the app would be of limited interest because a regular (not a fanatical) baseball fan wants to record much more than pitching data, as in a full scoring of batting and baserunning results. Clearly there is a wide range of fan interest in keeping personal track of what’s happening in a baseball game, from nothing to everything. I still think there are some that may want pitching stats in particular, since pitching is so important, especially when it comes to managers’ decisions.

I was so happy that both reviewers (real world people I’d never met) had found the app to work perfectly and to be of great potential use to its primary audience that I didn’t let any negative comments bother me. Really.

A little after the reviews appeared someone posted a user review on the iTunes App Store, which gave OnScreen Pitch Count five stars, but also mentioned the need for email. My first update would add email. This update (version 1.1) was approved and posted for sale on the iTunes App Store on September 17. After the update had been posted, I noticed the iTunes summary said that iPhone OS 3 was required for my app. Since I had gone to quite a bit of work (following Apple’s guidelines faithfully) to use the improved emailing capability of version 3, while providing downward compatibility with OS 2.2 (through use of weak binding and conditional execution, for the cognoscenti), I was not happy about this. My query to Apple was unanswered. I decided to live with it and move on to requiring OS 3 or greater for future updates. This affects iPhone customers almost not at all, but about half the iPod Touch users have yet to upgrade the OS, since they have to pay to do so. I recently discovered an iPhone developer discussion thread about this very problem of OS-requirement change as being due to an Apple bug.

Another user rating led to version 1.2. This user expressed the desire to see pitch results expressed in percentage form as well as total numbers. The update incorporating this new feature was posted for sale October 15. Finally, I addressed the ugliness issue and made the minimal, but significant, change to the use of better-looking buttons. The new buttons, while not photo-realistic, are pleasing I think, looking a bit like they’ve been rendered by colored pencil shading. Version 1.2.1 with the new look was approved as I wrote this.

UPDATE: See also “OnScreen Pitch Count 1.3 Is Now on the iTunes App Store”.