<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nklein software &#187; vb quick team stats</title>
	<atom:link href="http://nklein.com/tags/vb-quick-team-stats/feed/" rel="self" type="application/rss+xml" />
	<link>http://nklein.com</link>
	<description>software development and consulting</description>
	<lastBuildDate>Tue, 22 May 2012 03:48:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Speedy iPhone App Programming</title>
		<link>http://nklein.com/2010/02/speedy-iphone-app-programming/</link>
		<comments>http://nklein.com/2010/02/speedy-iphone-app-programming/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:25:11 +0000</pubDate>
		<dc:creator>pat</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[iphone app]]></category>
		<category><![CDATA[objective c]]></category>
		<category><![CDATA[vb quick team stats]]></category>

		<guid isPermaLink="false">http://nklein.com/?p=1164</guid>
		<description><![CDATA[Sunday, I decided that I needed a simpler statistics tracking program to keep track of stuff while I&#8217;m coaching volleyball. I started out keeping them on paper, but felt that I was staring at the page too often to find where to put a tick mark. Next, I tried the iVolleyStats Match iPhone app. It [...]]]></description>
			<content:encoded><![CDATA[<p>Sunday, I decided that I needed a simpler statistics tracking program to keep track of stuff while I&#8217;m coaching volleyball.  I started out keeping them on paper, but felt that I was staring at the page too often to find where to put a tick mark.</p>
<p>Next, I tried the <a href="http://itunes.apple.com/us/app/ivolleystats-match/id325343491?mt=8">iVolleyStats Match</a> iPhone app.  It is pretty reasonable to use, but it&#8217;s got too many controls on the user-interface.  The only way that I could keep up with a match was to forgo half of the functionality&#8230; either ignoring who is getting credit for an act, ignoring passing stats altogether, and not recording attack or block attempts at all.</p>
<p>For the past few weeks, I have tried using the Voice Memos application on the iPhone.  I narrate the game into my phone as the game goes on.  This lets me get really fine resolution of statistics, but it doesn&#8217;t give me any information in real-time.  When I call a time-out, I am going from memory to say how we&#8217;ve been passing or hitting.  This takes away the lion&#8217;s share of the benefit one gets from gathering statistics at all.</p>
<p><a href="http://nklein.com/wp-content/uploads/2010/02/QuickStats.jpg"><img src="http://nklein.com/wp-content/uploads/2010/02/QuickStats.jpg" alt="" title="QuickStats" width="320" height="480" class="alignright size-full wp-image-1165" /></a></p>
<p>So, my team has a tournament this Saturday.  I decided Sunday night that I should try to get together an iPhone app that does what I want.  I&#8217;ve long been thinking about what I want in a volleyball stat tracking iPhone app.  What I want will be a big, big undertaking (read: longer than one week).  So, I started studying Apple&#8217;s CoreData APIs on Sunday night and Monday morning.  Then, I dove in.</p>
<p>Now, my previous application was based upon <a href="http://www.cocos2d-iphone.org/">Cocos2D-iPhone</a>.  As such, it didn&#8217;t involve any of the Apple UIKit classes or any work with Interface Builder.  This application is navigation based with table views and custom table view cells from separate NIB files.</p>
<p>Despite this being my first real foray into the UIKit and CoreData APIs, I&#8217;ve got an application that I can use on Saturday.  There are two more bits that I will try to add tomorrow, but that I don&#8217;t need for Saturday.  To package it up for sale, there&#8217;s more functionality that I&#8217;ll need to add in case you don&#8217;t like things in the order that I have them on the screen or in case you want to add your own categories of statistic.  And, I need to make some specialized visualization screens for some of the stats.</p>
<p>The screenshot here is the main stat-tracking interface.  The stats present are Penn State&#8217;s stats from my trial run watching game one of their NCAA semifinal against Hawaii from last December.  In retrospect, I think I probably gave them credit for two neutral attacks that I should have called free balls.  Other than that, I think it&#8217;s pretty good.  It&#8217;s definitely information that will do me well during time-outs.</p>
<p>I fought for a long time this morning trying to get my UIBarButtonItem to show up in my UINavigationBar for one screen.  It turns out that these two methods don&#8217;t quite do the same thing on iPhoneOS 3.1.2:</p>
<div class="codecolorer-container objc blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><pre class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #11740a; font-style: italic;">// working version that shows my UIBarButton in the UINavigationBar</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>showStatTrackingScreen <span style="color: #002200;">&#123;</span>
    <span style="color: #002200;">&#91;</span>navigationController setViewControllers<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObject<span style="color: #002200;">:</span>homeViewController<span style="color: #002200;">&#93;</span> animated<span style="color: #002200;">:</span><span style="color: #a61390;">NO</span><span style="color: #002200;">&#93;</span>;
    <span style="color: #002200;">&#91;</span>navigationController pushViewController<span style="color: #002200;">:</span>trackStatsController animated<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #11740a; font-style: italic;">// version made of fail that does NOT show my UIBarButton in the UINavigationBar</span>
<span style="color: #11740a; font-style: italic;">// until you go forward a screen and pop back to this one.</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>showStatTrackingScreenMadeOfFail <span style="color: #002200;">&#123;</span>
    <span style="color: #002200;">&#91;</span>navigationController setViewControllers<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span>homeViewController,
                                                                       trackStatsController,
                                                                       <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>
                                    animated<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span></pre></div>
]]></content:encoded>
			<wfw:commentRss>http://nklein.com/2010/02/speedy-iphone-app-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

